system/core/Common.phpの下のコード イグナイターには、 load_class ()というメソッドがあります。
このメソッドを上書きしたいと思います。通常、コード イグナイター クラスを上書きするには、MY_Common.phpなどのファイルを作成しますが、この場合、 Common.phpはメソッドのコレクションであり、それらをカプセル化するクラスはありません。
では、これをどのように正確に行うのですか?
system/core/Common.phpの下のコード イグナイターには、 load_class ()というメソッドがあります。
このメソッドを上書きしたいと思います。通常、コード イグナイター クラスを上書きするには、MY_Common.phpなどのファイルを作成しますが、この場合、 Common.phpはメソッドのコレクションであり、それらをカプセル化するクラスはありません。
では、これをどのように正確に行うのですか?
組み込みの拡張メカニズムによってこれを行う公式にサポートされている方法はありません。目標を達成するための別の方法を検討してください。
ただし、内部の関数Common.php
はすべてif
、関数が既に存在するかどうかのチェック内にラップされているため、次のことができます。
MY_Common.php
プロジェクトのどこかに put を作成します(おそらくapplication/core/
他の同様の拡張をミラーリングするため)index.php
プロジェクトのルートでファイルを開きますinclude APPPATH.'core/MY_Common.php';
前に挿入require_once BASEPATH.'core/CodeIgniter.php';
load_class
これで、関数がある場合MY_Common.php
、元のバージョンがシャドウされます。
これを行うための正しい/公式の方法は、コア共通関数を ie に上書きすることです。common_helper.php
application/helpers
で設定するconfig/autoload.php