Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/244.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 仅设置影响方法的路由控制器_Php_Codeigniter_Hmvc - Fatal编程技术网

Php 仅设置影响方法的路由控制器

Php 仅设置影响方法的路由控制器,php,codeigniter,hmvc,Php,Codeigniter,Hmvc,我有一个使用纯CI的项目。现在我想迁移到CI HMVC。在路径中发现问题 例如,这是目录 - config -- routes.php - applications -- modules --- moduleA ---- controllers ------ login.php --- moduleB ---- controllers ------ anothercontroller.php 在login.php中,我有两种方法,index()和test()。 在config>routes.p

我有一个使用纯CI的项目。现在我想迁移到CI HMVC。在路径中发现问题

例如,这是目录

- config
-- routes.php
- applications
-- modules
--- moduleA
---- controllers
------ login.php
--- moduleB
---- controllers
------ anothercontroller.php
login.php中,我有两种方法,
index()
test()
。 在config>routes.php中,我定义了

 $route['login'] = 'moduleA/login';
然后,我打开
localhost/CI/login
,页面成功打开。 但是,当我打开
localhost/CI/login/test
时,它返回404。 我必须定义
$route['login/test']='moduleA/login/test'
来打开我的测试方法。 是否有另一种方法,我只定义控制器而不是定义方法?我有超过50种方法,这需要更多的努力

谢谢:)

如中所述,可以在路由中使用通配符甚至正则表达式

这将适用于您的问题:

$route['login/(:any)'] = 'moduleA/login/$1';

天哪,这很有效!若方法有参数,只需再次添加,如
$route['login/(:any)]='moduleA/login/$1'。非常感谢你