作者alpe (薛丁格的猫)
看板PHP
标题Re: [请益] CI codeIgniter controller放子目录
时间Mon Oct 1 00:31:51 2012
※ 引述《rocairforce (拾贰)》之铭言:
: 最近在开发一个系统,主要是在整合多个系统 CMS、EIP、ERP.....
: 其中程式共用,举CMS为例,CMS底下的所有site都跑同样的程式
: 而不是一个site要装一套CMS,也就是所有设定档都在DB里,
: 因为还会有其他的系统,我想做的是有没有办法把controller
: 丢到个别的子目录里(cms/controller)
: 可是在网址列可以不用像官网那样把URI的第一个分段指定到目录里去
: 而是像原本一样的方式,只是让CI去找相对应的目录,有人可以指引个方向吗
: 谢谢
以下是我正在弄的站 CI 架构. 应该跟你要的很像, model 都共用,
/site/xxx/ 是 www 进入点, 里面只有 2只 .htaccess & index.php
这边 config & index.php 里面就可以做完.
controller 的部份就要改到 CI core 了.
在 core/CodeIgniter.php 里可以看到
include(APPPATH.'controllers/'.
$RTR->fetch_directory().$RTR->fetch_class().'.php');
这边可以直接到 Router 一次处理调
所以重点就是在 core/Router.php 这边要动有点多. set_directory()
不能直接用, 有目录检查.
加油吧...
btw.
刚刚突然想到, 其实还可以用 rewrite 去改, ci可以接受1层 sub-directory
所以说 aaa.xxx.com/cc/dd
用rewite 改成 aaa.xxx.com/index.php/aaa/cc/dd
也是行的, 不过会牺牲掉一层, 也就是说没有下一层的机会.
.
├── application
│ ├── config
│ ├── controllers
│ │ ├── www
│ │ └── adm
│ ├── core
... ...
│ └── views
├── site
│ ├── adm
│ └── www
├── static
│ ├── css
│ ├── img
│ └── js
├── system
│ ├── core
│ ├── database
... ...
│ └── libraries
└── upload
题外话, yii 我也弄了个同样的东西... 也是要改code,动的更大
--
Exactly. For that one fraction of a second, you were open to options
you had never considered. THAT is the exploration that awaits you:
not mapping stars and studying nebulae,but
charting the unknown possibilities of existence.
Star Trek S7E26 "All Good Thing"
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 61.31.105.62
※ 编辑: alpe 来自: 61.31.105.62 (10/01 00:39)