将CI本机库扩展到包中

时间:2012-10-17 15:32:57

标签: shared-libraries codeigniter-2

我正在使用CodeIgniter2开发一个php应用程序,该应用程序位于:

/public_html/community/
 -application
 -system
 -index.php

此应用程序具有自己的My_Session库(从本机CI_Session库扩展)。嗯,这里的一切都很好。但是,我想在根目录下创建一个Portal / Frontpage,对于这个porpusee我安装了另一个CI2应用程序:

/public_html/
 -application
 -system
 -index.php
 -community/  (here resides the another CI2 installation)

我尝试做的是使用Loader类中的方法$this->load->add_package_path()将会话库从community“分享”到root用户,如下所示:

$this->load->add_package_path('/public_html/community/application/');
$this->load->library('Session');

这里的问题是Loader类从根系统加载会话库而不是包库(社区/应用程序/库)。你知道我怎么处理它?或者如果您知道另一种分享会话库的方式。

修改

这是我的会话库所在的位置:

/public_html/community/application/libraries/My_Session.php

1 个答案:

答案 0 :(得分:0)

好吧,我得到了这个主题的帮助:Session sharing between two CodeIgniter Applications。最后一个剪辑是:

  1. 添加应用程序包

    $这 - > add_package_path( '/的public_html /小区/应用/');

  2. 从根CI应用程序加载会话库

    $这 - >库( '会话');

  3. 从应用程序包(社区)加载库。 这里的神奇之处在于此类之前从Session类扩展 在第2点加载。

    $ this-> library('MY_Session','','csession'); //重命名对象以避免名称冲突

  4. 现在,在我的根应用程序控制器中,我可以这样做:

    $this->csession->custom_method();