zend フレームワークと Codeigniter を組み合わせるには?
2 つのアプリケーションがあります。1 つは zend で、もう 1 つは codeigniter です。2 つのフレームワークを 1 つのプロジェクトに結合することは可能ですか? もしそうなら、2つのフレームワークを組み合わせる方法と、このためのファイル構造は何ですか?
助けてくれてありがとう。
zend フレームワークと Codeigniter を組み合わせるには?
2 つのアプリケーションがあります。1 つは zend で、もう 1 つは codeigniter です。2 つのフレームワークを 1 つのプロジェクトに結合することは可能ですか? もしそうなら、2つのフレームワークを組み合わせる方法と、このためのファイル構造は何ですか?
助けてくれてありがとう。
もちろん可能です。
私は、Zend+CodeIgniterの両方を使用した1つのプロジェクトに取り組んできました。
これがあなたがする必要があることです:
1. Zendフォルダー(ライブラリ)をCodeIgniterのライブラリにコピーして貼り付けるか、逆にCodeIgniterライブラリをzendライブラリフォルダーにコピーします。
2. codeigniterの場合は、オートローダーを使用して呼び出す$this->load->library('Zend', '{anything here}')
か、Zendの場合はオートローダーを使用します
あなたが直面する問題(私が直面した問題):
Zendは、$_SESSIONを使用するZendAuth名前空間を使用します。CIは$_SESSIONを使用しませんが、独自のシステムが組み込まれています。Zendを使用し、(アプリ全体が同じドメインのみにあると仮定して)ID用に何が格納されているかを確認し、CIを介してその$ _SESSIONを直接確認し、CICookieを割り当てます。これが私に起こったことであり、解決策を確認してください。
CIとZendはどちらも、フォーム用に異なるライブラリを持っています。Zendライブラリ(CIの下)をロードするクラスでフォームのCIを使用しないでください。これは、経験則として覚えておいてください。したがって、それをどのように実装するか、CI上のZendまたはZend上のCIを戦略化する必要があります。CIフォームでZendのバリデーターを使用しないでください(誰も使用しないことはわかっていますが、一度使用すると、誰でも実行できるようになります!実行しないでください)。フォームに使用するライブラリと同じセキュリティライブラリを使用する
個人的に、私のプロジェクトは素晴らしかったです(多くの研究の後)、それは:ZendAuthを使用しなければならなかったZendのCIでした。
質問?:)
フレームワークを組み合わせる限り、通常は 1 つのフレームワークのイデオロギーに固執するのが最善です。そうでなければ、なぜそのフレームワークを使用するのですか? 特定の機能のために保存します。
CI と Zend Framework に関する限り、Zend は実際にはよりモジュール化されるように構築されており (本質的にはライブラリのコレクションです)、CI への組み込みはその逆よりもはるかに簡単です。
これは、多くの人が既に解決した PHP フレームワークを使用している人々の間で共通の「問題」です。
簡単なグーグルは次のことを明らかにしました:
http://viraksun.com/tutorials/integrate-zend-library-in-code-igniter/
http://www.beyondcoding.com/2008/02/21/using-zend-framework-with-codeigniter/
http://www.gotphp.com/codeigniter-with-zend-framework-libraries/54312/
あなたの質問にもっと直接的に答えるには:
「Zend」フォルダ (Zend_Download_Folder/library から) をメインの「libraries」フォルダ、または個人のアプリケーション/ライブラリ フォルダ内に配置するだけです。
次に、Controller 内からローダー クラスを使用して、使用する Zend クラスをロードします。
たとえば、Zend_Pdf を使用するには、コントローラーで次のようにします。
//load it
$this->load->library('Zend/Pdf');
//use it
$zendPdf = new Zend_Pdf();
$zendPdf->someMethod();
ソース:
http://codeigniter.com/user_guide/general/creating_libraries.html