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