ci 的控制器文件夹下开加子文件夹
在一个比较大的项目中,希望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到底是什么东东。需要进一步去学习正则表达式。这里有一个比较好的学习地址。
--------------------------------------------------------------------------- to be a good teacher