首页 文章

CodeIgniter - 在多站点设置中扩展本机库

提问于
浏览
2

我想为多个站点使用中央CI设置 . 我处理这个的方式是我创建了一个名为MPACK的包,并将其添加到每个站点的配置文件中的自动加载中 .

Folder Structure:

/ main / system(CI 2系统文件夹)/ MPACK / site1 / application site2 / application

在这个MPACK中,我有共享库,模型,助手等 .

但是,我希望有一个扩展的MY_Form_Validation,这对所有站点都是通用的 . 将类文件添加到/ MPACK / libraries失败 . 将其添加到/ site1 / application可以正常工作,如预期的那样 .

有没有办法在MPACK中扩展?

感谢您的时间 .

1 回答

  • 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');

    EDIT :结果表明上述解决方案没有打破 . 这是理论上的另一种解决方案:

    您应该拥有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/

相关问题