0

シンプルであるべきですが、そうではありません。

他のライブラリを使用することを望んでいるライブラリがありますが、何かがうまくいきません。

私の知る限り、 addons/shared_addons/libraries はまったく役に立たず、ライブラリを自動ロードする必要があるため、両方のライブラリは system/cms/libraries にあります (system/cms は本質的にシステム/アプリケーションのようですが、間違っている場合は修正してください)。余談ですが、モジュールから if を呼び出すことができるかどうかを確認するために、ライブラリを shared_addons/libaries に配置しました。私はできませんでした。なぜそこにあるのですか?

Lib1
-db が
必要 -lib2 が必要

Lib2
- セッションが必要

これが何が起こるかです。コントローラ [モジュール] がロードされます。エラーをスローする lib2 を呼び出す lib1 を呼び出します。Lib1 は、すべてのモジュール コントローラによって呼び出されます。Lib2 は、以前に設定され、lib1 によってのみ呼び出されるセッション データを使用します。

lib2 では、$CI=get_instance() を使用して、おそらく CI ライブラリ (データベース、セッションなど) を有効にします。ただし、「致命的なエラー: 非オブジェクトでのメンバー関数 userdata() の呼び出し」を通過できません。によって呼び出されます

//system/cms/libraries/lib2.php
$this->CI =& get_instance();
//$this->load->library('database'); == "can't find class database"
$ekeyLoc = $this->CI->session->userdata('ronery'); 

これをモジュールコントローラーで実行すると、期待どおりに動作します。

そのエラーをグーグルで検索すると、多くの「db not loaded」が表示されます。念のため、データベースをロードしようとしましたが、どうも、クラス 'database' が見つかりません。NB: データベースは自動ロードされています。

CodeIgniter スーパー オブジェクトを割り当てると、jabloney 全体を取得していると思いますよね? 私はそうだと思いました。しかし、念のため、データベース クラスをモジュール/コントローラーにロードしてみることにしました。

私は pyroCMS のドキュメントを調べてトリックについて調べてみましたが、私の状況にはあまり役に立ちませんでした。

モジュール コントローラからコア ライブラリをロードできないのはなぜですか?

system/cms/libraries のカスタム ライブラリにコア ライブラリをロードできないのはなぜですか?

割り当てた CodeIgniter スーパー オブジェクトに session/db がらくたが含まれていないのはなぜですか?

/addons/shared_addons/library からライブラリをロードできないのはなぜですか?

$this->session->userdata()CodeIgniter スーパー オブジェクトが割り当てられているにもかかわらず、system/cms/libraries フォルダー内のライブラリーからではなく、モジュール コントローラーからの呼び出しが機能するのはなぜですか?

ありがとう。


2 日間回答がなかった後、ヘルプを検索し続けると、必然的にこの質問が Google の検索結果のトップに表示されることは、イライラすると同時に愉快なことでもあります。FML。

4

1 に答える 1

0

まず最初に:

$this->load->library('database');

彼らのドキュメントがそうあるべきであると言っているように、それは有効なCodeIgniterコードではありません:

$this->load->database();

すでに指摘したように、これは自動ロードされるので、とにかくそれを行う必要はありません。

モジュールコントローラーからコアライブラリをロードできないのはなぜですか?

あなたはできる。

コアライブラリをsystem/cms / librariesのカスタムライブラリにロードできないのはなぜですか?

あなたはできる。

割り当てたCodeIgniterスーパーオブジェクトにsession/dbがらくたが含まれていないのはなぜですか?

します。

/ addons / shared_addons / libraryからライブラリをロードできないのはなぜですか?

これは1.3.xでは不可能でしたが、2.0以降で修正されていない場合は、1.3.2で修正されているはずです。

私はあなたが何をしているのか、なぜあなたがそのような問題を抱えているのかわかりませんが、サンプルコードやあなたが使用しているPyroCMSのバージョンの説明がなければ、これ以上助けることはできません。

2日間立ち往生している場合、なぜ私たちのフォーラムに投稿しなかったのですか?あなたが私たちのフォーラムに投稿したことがあるなら(私はそれについて何も見ませんでした)、他の人が質問に答えるのを助けるためにあなたはあなたのフォーラムスレッドへのリンクをこの投稿に置くべきでした。

誰かがインターネットで立ち往生しているのはこれが初めてではありませんが、あなたはそのように行動します。さあ、あなたはこれがどのように機能するか知っています!:)

于 2011-11-17T15:49:26.683 に答える