2

次のようなクラスにオートロードを使用しています。

function my_autoloader($Class){
  // classes
  include "class/Class_User.php";

  // helpers
  include "helper/Url_Helper.php";

  }

spl_autoload_register('my_autoloader');

すべてうまくいっていますが、いくつか質問があります。Url_Helper のコンテンツはクラスではなく、サイト全体で使用する従来の php 関数だけです。Url_Helper の関数は、次のような (任意の) クラスを開始した後にのみアクセスできます。

この後、関数がロードされます。しかし、Url_Helper から関数を呼び出し、クラスをまったく使用しないと、ロードされません。

ここで何が起こっているのか、少し説明してもらえますか?

4

1 に答える 1

0

あなたはすでにそれをデバッグしました。クラスをロードしない場合、ヘルパーはロードされません。これは本当です。ヘルパーを常に利用できるようにしたい場合は、autoload 関数の外にヘルパーを含める必要があります。

于 2013-08-27T08:27:41.147 に答える