7

system/core/Common.phpの下のコード イグナイターには、 load_class ()というメソッドがあります。

このメソッドを上書きしたいと思います。通常、コード イグナイター クラスを上書きするには、MY_Common.phpなどのファイルを作成しますが、この場合、 Common.phpはメソッドのコレクションであり、それらをカプセル化するクラスはありません。

では、これをどのように正確に行うのですか?

4

2 に答える 2

12

組み込みの拡張メカニズムによってこれを行う公式にサポートされている方法はありません。目標を達成するための別の方法を検討してください。

ただし、内部の関数Common.phpはすべてif、関数が既に存在するかどうかのチェック内にラップされているため、次のことができます。

  1. MY_Common.phpプロジェクトのどこかに put を作成します(おそらくapplication/core/他の同様の拡張をミラーリングするため)
  2. index.phpプロジェクトのルートでファイルを開きます
  3. 締め行のinclude APPPATH.'core/MY_Common.php'; に挿入
    require_once BASEPATH.'core/CodeIgniter.php';

load_classこれで、関数がある場合MY_Common.php、元のバージョンがシャドウされます。

于 2013-04-05T12:24:54.670 に答える
0

これを行うための正しい/公式の方法は、コア共通関数を ie に上書きすることです。common_helper.php application/helpersで設定するconfig/autoload.php

于 2016-11-05T08:48:50.140 に答える