0

私は2つのCodeIgniterプロジェクト間で通信しようとしています。

AとBの2つのプロジェクトがあります。ビューがAから呼び出され、AではなくプロジェクトBのコントローラーにヒットする必要がある場合は常に。

AではなくプロジェクトBのみにデータベースアクセスを許可したいので、すべてのデータベース要求は私のBで実行する必要があり、すべての表示はAで実行する必要があります。

それを行う方法はありますか?

4

2 に答える 2

1

次のようにクラスを拡張する必要がありますCI_Loader

class ClassNameYouWant extends CI_Loader {
    public function construct(){ 
            parent::__construct(); 
    }

    public  function ExtendedView($view, $vars = array(), $return = FALSE){
        parent::view($view, $vars, $return);

        // run your code here
        // call projet B using cURL or whatever you want
    }
}

ビューが読み込まれる前にコードを実行する場合parent::view($view, $vars, $return);は、関数の最後にある行を呼び出します。

コントローラ内にクラスをロードしてから、次のようなものを使用する必要があります

$this->ClassNameYouWant->ExtendedView();

于 2012-06-26T18:07:31.443 に答える
0

CodeIgniterのMVCがCakePHPのMVCと類似している場合は、コントローラーAでデータを受け入れ、サーバーBへのHTTPソケット接続を使用して、コントローラーAで受信したデータをコントローラーBに送信する必要があります。その後、コントローラーBはビジネスロジックを実行できます。そして(HTTP応答として)より多くのJSONデータをコントローラーに返します。

于 2012-06-26T18:02:21.600 に答える