1

これは、最初は少し「的外れ」に聞こえるかもしれません。基本的に、CodeIgniter で小さなバックエンドを構築していて、将来的に複数のプロジェクトに簡単に展開できるようにしたいと考えています。現時点では、コントローラー、ヘルパー、拡張コア クラス、ビュー、およびアセット フォルダーのコレクションです。これを簡単に再配布できるようにしたい場合は、個々のファイルの数を抑えたいと思います。

ビュー、コントローラー、およびモデルは、別々のファイルとして保持するのが明らかに最善です。
しかし、CI_Controller、CI_Form_validation、CI_Input など、かなりの数の CI のコア クラスを拡張しています。おそらくもっと続くでしょう。

これら3つを1つのファイルに結合する方法はありますか?
明らかに、それらを application/core ディレクトリに配置しないと、MY_ プレフィックスの自動読み込みが中断されます。また、カスタム ヘルパー関数も同じファイルに保存できれば素晴らしいと思います。これにより、アプリケーション固有のコア クラスを従来の MY_ プレフィックス形式で application/core に保持しながら、コア クラスの更新を簡単にロールアウトできます。

現在、config.php で Phil の改良されたネイティブ オートローダーを使用しています (ここを参照してください... http://ellislab.com/codeigniter/forums/viewthread/218099/#1006583 ) MY_ プレフィックスを使用せずに拡張コア クラスをロードするので、再配布を容易にするために、より認識しやすく論理的な名前をそれらに付けることができます。これは、それがイニシエーションの早い段階で処理さ
れていることを示唆しています。 これは基本的にネイティブのオートローダーが行うことですが、現在のクラス名を調べて、ロードするファイルを指定します。すべての拡張コア クラスを 1 つに含む単一のファイルをハードコーディングするだけです。config.phprequire('AdminCoreClasses.php')

これを行うより良い方法はありますか?

4

1 に答える 1

0

現時点では、変更が完了したら、「モジュール」を圧縮するだけです。CIシステムは含みません。
したがって、zip から抽出すると、すべてが適切なサブディレクトリにダンプされます。
簡単にアップグレードできるように、コアファイルもそのままにしておきたいと思います。実際には、変更したクラスには別の名前を付けているため、MY_ プレフィックスは使用しません。これにより、バックエンド モジュールとは関係なく、アプリケーション固有のベースで、他の変更されたクラスに MY_ プレフィックスを使用できます。

今は忘れて、今のやり方を続けようと思っています。私の主な目的は、フレームワークを簡単にアップグレードできるようにすることであるため、CI の構造をいじりたくないのです。

于 2012-10-16T21:26:50.930 に答える