-3

メソッドが呼び出された場合にのみファイルをインクルードしたい。だから、私がこのようなことをしているなら:

class foo
{
   function printer()
   {
      //Do something
      return $something;
   }

   function some_math($a, $b)
   {
      if($a == $b)
      {
          require_once('path/to/some_class.php');
          $instance = new some_class();
          //Do something with some_class
      }
      else
      {
          //Do another things
      }
      return $some_result;
   }

}

$var = new foo();
$var->some_math(2, 3);

この場合、some_class.phpは解析されますか?

私はいくつかの重いライブラリを持っていますが、それらが不要なときにPHPで解析したくありません。

これは通常の解決策ですか?そうでない場合、どうすればこれを解決できますか?=)(オートロードは希望どおりに機能しませんでした。使用すると、オートロードには毎回ファイルが含まれます)。

4

1 に答える 1

0

some_class.phpは、$ var-> some_math()が呼び出され、$ a ==$bの場合にのみロードされます。しかし、他の人が述べたように; テストは簡単です。

これをsome_class.phpの先頭に追加します。

echo 'Hello world'; exit();

$ var-> some_math(..);を呼び出さずにコードを実行します。「Helloworld」は表示されません。

次に、コードを変更て、$ var-> some_math(1,1);を呼び出します。「Helloworld」が表示されるはずです

于 2013-01-26T21:37:18.490 に答える