我想为多个网站使用中央CI设置。我处理这个的方式是我创建了一个名为MPACK的包,并将其添加到每个站点的配置文件中的自动加载中。
文件夹结构:
/主
/ system(CI 2系统文件夹)
/ MPack,还将
/ SITE1
/应用
站点2
/应用
在这个MPACK中,我有共享库,模型,帮助器等。
但是,我希望有一个扩展的MY_Form_Validation,这对所有网站都是通用的。将类文件添加到/ MPACK / libraries失败。将其添加到/ site1 / application可以正常工作。
有没有办法在MPACK内部进行扩展?
感谢您的时间。
答案 0 :(得分:0)
请试试这个:
// Placed your MY_Form_validation.php under MPACK/libraries
$this->load->add_package_path('/path/to/MPACK');
$this->load->library('form_validation');
您可以从CodeIgniter User Guide - Loader Class获取更多信息。 :)
您还可以在/application/config/autoload.php
:$autoload['packages'] = array('/path/to/MPACK');
编辑:结果表明上述解决方案不起作用,因为Loader总是寻找APPPATH&首先是BASEPATH,我不确定修改这个核心类不会破坏某些东西。这是理论上的另一种解决方案:
您应该拥有MPACK表单验证库,并且站点的表单验证库应该是MPACK表格的符号链接:
/site1/application/MY_Form_validation.php -> /MPACK/libraries/MY_Form_validation.php
如果您只使用MPACK中的所有内容,没有专门针对/ site1或/ site2的内容,只需创建一个文件夹链接:
/site1/application/libraries/ -> /MPACK/application/libraries/
希望这个帮助=)
您可以在此处阅读更多内容:http://codeigniter.com/wiki/Multiple_Applications_via_Symlinks/