2012-01-19 2 views
0

ライブラリ1と呼ばれるカスタムライブラリがあります。私はlibrary2という別のカスタムライブラリを使ってlibrary1を拡張しようとしています。codeigniterのカスタムライブラリ2でカスタムライブラリ1を拡張しますか?

私はrequire_onceを実行し、library2にlibrary1を含めることができました。他のオプションは、library2がcodeigniters loadメソッドを使用し、library1をlibrary2からロードすることです。

一方の方法が他の方法よりも優れている理由について、考えている人はいますか?

+0

私は100%確信しているわけではありませんが、CIロードメソッドが効果的に 'require_once'を行い、余分な' file_exists() 'などのチェックをいくつか実行すると思います。実際には余分なセーフティーネットを提供し、それが勝っていなくても、本当にコストがかかるので、CIロードルートに行きます。 – DaveRandom

+0

ありがとうこれは実際に私が最初に気付かなかった抽象クラスだったので、より複雑になってしまったので、これを処理するためにnative codeigniter loadメソッドを使用することができませんでした。結局のところ、コードを1つのライブラリにリファクタリングするだけで、はるかにクリーンで理解しやすくなりました。 – hcker2000

+0

心配する必要はありません - あなた自身の質問に答えてそれを受け入れるか、または削除してください。それで、それは閉鎖され、人々は未回答の質問を見てここに来ることはありません。 – DaveRandom

答えて

-4

まず、 "oop"?私はCodeIgniterのが実行されると、それはA、次の。第二にthis here

「CodeIgniterのフック機能はを活用し、コアファイルをハッキングすることなく、フレームワークの内部動作を変更するための手段を提供するチェック、あなたが真剣にMCVのポイントを逃していると思いますアプリケーションフローページで図解されている特定の実行プロセスですが、実行プロセスの特定の段階で何らかのアクションを発生させたい場合があります。たとえば、スクリプトを正しく実行するあなたのコントローラがロードされる前に、または直後に、あるいは別の場所で独自のスクリプトの1つをトリガしたいかもしれません。

0

私は最近この問題に遭遇し、require_onceを使用して私は簡単で効率的な解決策であることが証明されました。