ci 的控制器文件夹下开加子文件夹

时间:2021-08-05 04:52:08

在一个比较大的项目中,希望controllers下再细分子文件夹。例如:controllers/pj,controllers/xxk等。

做法是:

1.在controllers下添加相关的子文件夹,例如pj。

2.在application/config/routes.php中添加一条路由规则:

 $route['pj/(^/)(^/)'] = "pj/$1/$2";

哈哈,大功告成!

解释

在没有修改routes.php文件之前地址栏中:localhost/ci/index.php/pj/student/index。表示要运行pj类的stdudent方法,并有一个参数是index。这是ci默认的配置要求。所以如果你添加上面的路由规则是不会得到你想要的结果的。

修改routes.php文件之后,即添加 $route[‘pj/(^/)(^/)'] = "pj/$1/$2";这一句后。我们执行的是pj目录下的student类的index方法。

说明

1.这是一个正则表达式。相当于是把 pj/(^/)(^/)  用  pj/$1/$2 来代替。pj/(^/)(^/)是指地址栏中的写法。pj/$1/$2是指controllers下的子文件pj下的$1类中的$2方法。

2.想要进一步了解()()和$1,$2到底是什么东东。需要进一步去学习正则表达式。这里有一个比较好的学习地址