ライブラリを動的に自動ロードするオブジェクトを作成するように、静的クラスを自動ロードすることは可能ですか? 私はphpオートローダーのほとんどの部分を実行しましたが、オブジェクトを作成したくない静的ライブラリを自動ロードするためのヒントが本当に必要です。
誰かが解決策を持っていますか? 投稿するか、同じものを開発するための最良のアイデアを教えてください。
ありがとう
ライブラリを動的に自動ロードするオブジェクトを作成するように、静的クラスを自動ロードすることは可能ですか? 私はphpオートローダーのほとんどの部分を実行しましたが、オブジェクトを作成したくない静的ライブラリを自動ロードするためのヒントが本当に必要です。
誰かが解決策を持っていますか? 投稿するか、同じものを開発するための最良のアイデアを教えてください。
ありがとう
はい、SPL Autoloader はクラスとインターフェースをロードします。オートローダーがトリガーされると、自動ロード可能なアセットへの参照を使用してロードをトリガーできます
My_Special_Class::SOME_CONSTANT
ロードをトリガーし、可視の静的メソッドまたはプロパティを呼び出しまたは参照します。
実際、これを悪用することは、名前空間関数の auto_loading をトリガーする 1 つの方法です。このようにクラスファイルを定義します。
namespace My\Namespace;
abstract class Functions{
const LOADED = true;
}
function func1(){}
function func2(){}
function func3(){}
My\Namespace で定義された関数が必要な場合は、コードで単純に
if (\My\Namespace\Functions::LOADED){
func1();
func3();
}
抽象クラスへの参照により、オートローダーがトリガーされ、関数を定義するファイルが組み込まれます。