codeigniter 4.0 前后端分文件问题

缓缓
  • 1.3k

我在CI2.x的时候,在controller目录下,分别有admin和index两个目录分别对应后台与前台。

那么routes.php中我是这样设置的

$route['default_controller'] = 'index/home';

现在发现在3.0中,这样设置不行了。请问我应该怎么做。 比较纠结的是,我确实希望把前台放到index目录下,而不是直接移动到上层的controller里面。

想问下3.0以上,前后端分开写有没有什么好的方法,分文件夹好像已近被看做bug不支持了

回复
阅读 3.3k
4 个回答

第一种, 双入口, 即index.php和admin.php, application和application_admin实现

第二种, 单入口, 子目录: application/home 和 application/admin

第三种, 单入口, 子控制器: application/user/admin.php 和 application/user/home.php (类似这种)

第四种, 子项目: http://url.cn/admin/index.php(即放到根目录下建立一个完整的admin项目)

第五种, 很多人的做法(独立后台, 与项目同为两个项目, 用同一个数据库, 二级域名或者ip:port访问, 增加安全性)

根据个人喜好取舍吧

可以用环境变量来弄

$routing['directory'] = getenv('APP_ENV') ?: 'develop'

APP_ENV 可以在 apache 或者 nginx 里设置
这样的话相应的 vhost 入口只会访问对应的控制器目录
比如说 SetEnv APP_ENV=admin 的话
控制器目录就从 controller/admin 为根目录

具体的可以参考下 https://github.com/sinoci/sinoci

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
宣传栏