用户
 找回密码
 入住 CI 中国社区
搜索
查看: 8017|回复: 17
收起左侧

[版本 3.x] 怎样把控制器分多级目录?

[复制链接]
发表于 2015-12-24 09:04:17 | 显示全部楼层 |阅读模式
怎样把控制器分多级目录?随着网站越来越大,功能越来越多,总不能把文件都堆在一起,想要区分一个一个板块,每个板块要细分每个功能的控制器,这样就清清楚楚

例如:http://xxxx.com/a/b/c/d/e/f/g/h/.......
发表于 2015-12-29 16:23:14 | 显示全部楼层
-新闻              (文件夹news)
    --行业新闻                  (控制器文件news_a_class.php)
    --公司新闻                  (控制器文件news_b_class.php)
      --发布                               (方法news_b_add)
      --编辑                               (方法news_b_upd)
--会员             (文件夹user)
   --普通会员管理                  (控制器文件user_m_class.php)
      --添加                               (方法user_add)
      --查看                               (方法user_sel)
        --会员贴子                        (方法user_list)
   --VIP会员管理                   (控制器文件user_vip_class.php)
--通知             (文件夹message)
--公告             (文件夹xxx)

 楼主| 发表于 2015-12-24 10:25:33 | 显示全部楼层
本帖最后由 m1sheng 于 2015-12-24 10:27 编辑
yys5 发表于 2015-12-24 10:16
一个功能一个控制器?

--新闻
    --行业新闻
    --公司新闻
      --发布
      --编辑
--会员
   --普通会员管理
      --添加
      --查看
         --会员贴子
   --VIP会员管理
--通知
--公告


例如这样,如果把所有都放在一个目录下,或文件下,这样会很乱,而且网站越来越大,功能越来越多,就更乱
 楼主| 发表于 2015-12-30 08:55:05 | 显示全部楼层
elileo 发表于 2015-12-29 16:23
-新闻              (文件夹news)
    --行业新闻                  (控制器文件news_a_class.php)
    --公司新闻           ...

这样是可以,不过随着网站越来越大,页面越来越多,层次越来越深就不好操作了
发表于 2015-12-24 09:53:31 | 显示全部楼层
把controller按模块建文件夹来管理
 楼主| 发表于 2015-12-24 10:11:32 | 显示全部楼层
yys5 发表于 2015-12-24 09:53
把controller按模块建文件夹来管理

怎样建立?   CI可以建子目录,但还不够细分
发表于 2015-12-24 10:16:04 | 显示全部楼层
一个功能一个控制器?
发表于 2015-12-24 10:31:50 | 显示全部楼层
按你划分的,  新闻建个文件夹.  比如叫news,  然后创建两个controller, 一个 Industry,一个Company, 每个里面加入都是增删改查呗,   你要是想一层一层的分的很细的话, 试试再建一层文件夹, 如果这种不行的话, 那就试试URI 路由吧
 楼主| 发表于 2015-12-24 10:42:16 | 显示全部楼层
yys5 发表于 2015-12-24 10:31
按你划分的,  新闻建个文件夹.  比如叫news,  然后创建两个controller, 一个 Industry,一个Company, 每个里 ...

CI只能建1个子目录,不能再分下去,公司新闻除了添删改,还有分享,评论,评论还要展示,回复,还要赞 等等功能
这只是举个例子
目的是要目录清晰,如果一个列表列下来,会很难找,而且网站功能越来越多
发表于 2015-12-24 11:56:08 | 显示全部楼层
m1sheng 发表于 2015-12-24 10:42
CI只能建1个子目录,不能再分下去,公司新闻除了添删改,还有分享,评论,评论还要展示,回复,还要赞 等 ...

你可以考慮善用 Model,其實不會太亂
而分類方式,yys5 提供的那種就行了

先有個觀念 :
controller 是選擇,因你的 get, post, session, cookie 而朝向正確的方向走
model 是資料表溝通的中介者也是一個大型工具箱
view 是顯示最後結果
 楼主| 发表于 2015-12-24 14:31:21 | 显示全部楼层
本帖最后由 m1sheng 于 2015-12-24 14:34 编辑
Closer 发表于 2015-12-24 11:56
你可以考慮善用 Model,其實不會太亂
而分類方式,yys5 提供的那種就行了

不是MVC的问题,而是现在C 都堆在controllers里 我想细分一下,而CI只能建一个子目录,我想如果可以多层子目录,就可以细分一下
发表于 2015-12-24 14:41:46 | 显示全部楼层
m1sheng 发表于 2015-12-24 14:31
不是MVC的问题,而是现在C 都堆在controllers里 我想细分一下,而CI只能建一个子目录,我想如果可以多层子 ...

那你需要擴展 CI
CI 社區 - 让Codeigniter控制器支持多级目录【支持2.1.4】

本版积分规则