0

CodeIgniter2を使用してphpアプリケーションを開発しています。このアプリケーションは、次の場所にあります。

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

このアプリケーションには独自のMy_Sessionライブラリがあります(ネイティブCI_Sessionライブラリから拡張)。さて、ここではすべてうまくいきます。しかし、ルートディレクトリにポータル/フロントページを作成したいのですが、このポルプシーのために、別のCI2アプリケーションをインストールしました。

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

私がやろうとしたことは、以下のように、Loaderクラスcommunityのメソッド$ this-> load-> add_package_path()を使用して、セッションライブラリをルートからルートに「共有」することです。

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

ここでの問題は、Loaderクラスがパッケージライブラリ(community / application / libraries)ではなくルートシステムからSessionライブラリをロードすることです。どうすれば対処できるか知っていましたか?または、セッションライブラリを共有する別の方法を知っている場合。

編集

これが私のセッションライブラリが存在する場所です。

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

1 に答える 1

0

さて、私はこのトピックの助けを借りて得ました:2つのCodeIgniterアプリケーション間のセッション共有。そして最後に切り取られたのは:

  1. アプリケーションパッケージを追加します

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

  2. ルートCIアプリケーションからセッションライブラリをロードします

    $ this-> library('session');

  3. アプリケーションパッケージ(コミュニティ)からライブラリをロードします。ここでの魔法は、このクラスが以前にポイント2でロードされたSessionクラスから拡張されることです。

    $ this-> library('MY_Session'、''、'csession'); //名前の競合を避けるためにオブジェクトの名前を変更します

これで、ルートアプリケーションコントローラーで次のことができます。

$this->csession->custom_method();
于 2012-10-17T16:41:25.693 に答える