Composer のオートロードソースコードに関する疑問
mmmm
mmmm 2018-04-01 11:48:56
0
0
922

問題の説明。今日、composer のオートロードを調べました。autoload_real.php に次のようなコードがあります。

spl_autoload_register(array('ComposerAutoloaderInitc80c5962bd70112ae6c86782593af788', 'loadClassLoader'), true, true) ;

PHP マニュアルに記載されている spl_autoload_register の最初のパラメータの説明は次のとおりです:

autoload_function

登録されるオートロード関数。パラメータを指定しない場合は、autoload のデフォルト実装関数 spl_autoload() が自動的に登録されます。

マニュアルには、最初のパラメータは関数であると記載されていますが、これが指定されていない場合は、関数 spl_autoload() がデフォルトで実装されます。

autoload_real.php のクラス名は次のとおりです: ComposerAutoloaderInitc80c5962bd70112ae6c86782593af788,

クラスには静的メソッドloadClassLoader($class)があります。

よく考えてみると、array('ComposerAutoloaderInitc80c5962bd70112ae6c86782593af788', 'loadClassLoader') の最初のメンバーがクラス名で、2 番目のメンバーが静的メソッド名である場合、それは self と同等ですか? :loadClassLoader()。しかし、問題は、loadClassLoader のパラメータをどのように取得するかということです。本当にわかりません。

最後に、練習をして自分でクラスを作成し、静的メソッドを作成し、上記の配列メソッドを真似してみたところ、関数は実行されませんでしたが、素直に配列が作成されました。 ?それでは、composer のコード行は何を行うのでしょうか?詳しい先輩方に教えていただければと思います。


mmmm
mmmm

全員に返信(0)
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート