Codeigniter 4中的参数传递路由问题

Parameter passing through routing problem in Codeigniter 4

我有一点路由问题,我无法在 Codeigniter 4 中解决。 我尝试在删除列表项时添加一个参数。但是得到如下错误信息。

Error message at post routing: Controller or its method is not found: \App\Controllers\Userfeed::delete

Error message at add or get routing: Controller or its method is not found: \App\Controllers\Pages::index

控制器文件目录:

Route文件的相关部分(在Config目录下):

$routes->get('/', 'Pages/Home::index');
$routes->get('userfeed', 'Pages/UserFeed::index');
$routes->post('userfeed/add', 'Pages/UserFeed::add');

//$routes->add('userfeed/(:any)', 'Pages/UserFeed::delete');//this works fine
$routes->get('userfeed/(:any)', 'Pages/UserFeed::delete');//this works fine
//$routes->get('userfeed/(:any)', 'Pages/UserFeed::delete/');//this is not work, which is the goal
//$routes->post('userfeed/(:any)', 'Pages/UserFeed::delete/');//this is not work
//$routes->add('userfeed/(:any)', 'Pages/UserFeed::delete/');//this is not work
...

控制器相关部分:

namespace App\Controllers\Pages;
use App\Controllers\MainCtrl;
...
class UserFeed extends MainCtrl{ 
....
public function delete($id=FALSE)
    {
        var_dump('wooot?');
        var_dump($id);
    }
} 

视图部分:

....
<a class="badge badge-secondary" href="<?php echo base_url('userfeed/delete/'.$rss['id']);?>" >Töröl</a>
....

但是如果我从根控制器目录中的这个控制器创建一个副本,它就可以工作了。

$routes->get('userfeed/delete/(:any)', 'UserFeed2::delete/');//it's working fine

如果需要更多信息,请告诉我。 谢谢你的帮助! :)

注意:谢天谢地,发现问题了。 :)
一猜一奖。 =)

试试这个

$routes->get('userfeed/delete/(:any)', 'Pages\UserFeed::delete/');

区别在于使用的斜杠。您必须使用反斜杠 () 而不是正斜杠 (/)