PHP で require_once/include_once を使用すると便利ですが、コストがかかることがわかっています。テスト データによると、require_once は require よりも 3 ~ 4 倍遅いため、PHP 開発では require/include を使用するようにしてください。
require/include を回避するために私がよく使用する方法をリストしてみましょう。
__autoload を使用する
PHP5 では、__autoload を使用して require を回避できます。うまく使えば、コード内にいくつかの要件さえ表示されなくなり、非常に快適になります。テスト結果は、__autoload を使用した後の new Foo; が require_once ‘foo.php’; よりも約 3 倍高速であることを示しています。
補足: オートロードの競合を避けるために、spl_autoload_register (PHP 5 >= 5.1.2) を使用してマジック関数 __autoload の動作を変更することを検討できます。
定義済みを使用して、ロードされているかどうかを確認します
コードの先頭で定義を使用して、対応する定数が定義されているかどうかを確認し、定義されている場合は、それを直接返します。
if(!define('_MYCLASS_'))
戻る;
定義('_MYCLASS_', 1);
クラス MyClass { ... }
?>
テストしたところ、Defined のパフォーマンスはあまり良くありません...
要求する前に確認してください
class_exists または function_exists を使用して、アクションを実行する前にロードされていないことを確認します。これは、require_once よりも少なくとも 3 倍高速です。 php4も使えます。
class_exists('myClass') または require('/path/to/myClass.class.php');