直接書き込まなくても../vendor/composer/autoload_static.phpへ新たにコードが書き込まれる仕組みについて知りたいです。
環境
Laravel5.5
Laravel5.5のオートローダの仕組みについて、../vendor/composer/autoload_static.phpと同フォルダ内のClassLoader.phpのクラスClassLoader内の関数である findfile、findFileWithExtensionを使い、autoload_static.phpから読み込むクラス名とそれに対応するファイルのパスを取得し、同じクラス内の関数であるloadClass、registerを使いそのファイルを読み込むことまでは理解できました。
しかし、このClassLoad.phpやオートローダを実行している../vendor/composer/autoload_real.phpのどの関数を見ても、なぜLaravel5.5内のあるディレクトリ内(例えば../app/など)で新たなファイルを作成した際に、そのファイルのクラス名をキー、そのファイルのパスを値としてautoload_static.phpの配列$classMapへ登録されるのかがわかりませんでした。
この疑問についてどなたかお答えいただけないでしょうか。
また、Laravel5.5のオートローダの働きと../vendor/composer/installed.jsonとの関係性もわかっていないので、こちらの方も答えていただければありがたいです。
Laravel5.5の../vendor/composer/autoload_static.phpの配列$classMapで実際に追加されたキーとその値
public static $classMap = array ( 'App\Auth\Passwords\PasswordManager' => __DIR__ . '/../..' . '/app/Auth/Password/PasswordManager.php', 'App\Auth\UserTokenProvider' => __DIR__ . '/../..' . '/app/Auth/UserTokenProvider.php', 'App\Author' => __DIR__ . '/../..' . '/app/Author.php', 'App\BlowfishEncrypter' => __DIR__ . '/../..' . '/app/BlowfishEncrypter.php', 'App\Bookdetail' => __DIR__ . '/../..' . '/app/Bookdetail.php', 'App\Console\Commands\ExportOrdersCommand' => __DIR__ . '/../..' . '/app/Console/Commands/ExportOrdersCommand.php', 'App\Console\Commands\HelloCommand' => __DIR__ . '/../..' . '/app/Console/Commands/HelloCommand.php',//自動で新たに追加したファイルのクラスとパス 'App\Console\Commands\SendOrdersCommand' => __DIR__ . '/../..' . '/app/Console/Commands/SendOrdersCommand.php',//自動で新たに追加したファイルのクラスとパス //省略 'App\Http\Controllers\PdfGeneratorController' => __DIR__ . '/../..' . '/app/Http/Controllers/PdfGeneratorController.php',//自動で新たに追加したファイルのクラスとパス 'App\Http\Controllers\Register\CallbackAction' => __DIR__ . '/../..' . '/app/Http/Controllers/Register/CallbackAction.php',//自動で新たに追加したファイルのクラスとパス 'App\Http\Controllers\Register\RegisterAction' => __DIR__ . '/../..' . '/app/Http/Controllers/Register/RegisterAction.php',//自動で新たに追加したファイルのクラスとパス 'App\Http\Controllers\Register\SecondCallbackAction' => __DIR__ . '/../..' . '/app/Http/Controllers/Register/SecondCallbackAction.php',//自動で新たに追加したファイルのクラスとパス 'App\Http\Controllers\Review\RegisterAction' => __DIR__ . '/../..' . '/app/Http/Controllers/Review/RegisterAction.php',//自動で新たに追加したファイルのクラスとパス 'App\Http\Controllers\UserAction' => __DIR__ . '/../..' . '/app/Http/Controllers/UserAction.php',//自動で新たに追加したファイルのクラスとパス 'App\Http\Controllers\User\LoginAction' => __DIR__ . '/../..' . '/app/Http/Controllers/User/LoginAction.php',//自動で新たに追加したファイルのクラスとパス 'App\Http\Controllers\User\RetrieveAction' => __DIR__ . '/../..' . '/app/Http/Controllers/User/RetrieveAction.php',//自動で新たに追加したファイルのクラスとパス //省略
回答2件
あなたの回答
tips
プレビュー