自動読み込み
composerを利用してPSR-0規格のファイルを読み込む
webmanはPSR-4
自動読み込み規格に従っています。ビジネスニーズでPSR-0
規格のコードライブラリを読み込む必要がある場合、以下の手順を参照してください。
extend
ディレクトリを新たに作成し、PSR-0
規格のコードライブラリを格納します。composer.json
を編集し、autoload
の下に以下の内容を追加します。
"psr-0" : {
"": "extend/"
}
最終結果は以下のようになります。
composer dumpautoload
を実行します。php start.php restart
を実行してwebmanを再起動します(注意:再起動しなければ効果がありません)。
composerを利用して特定のファイルを読み込む
-
composer.json
を編集し、autoload.files
の下に読み込むファイルを追加します。"files": [ "./support/helpers.php", "./app/helpers.php" ]
-
composer dumpautoload
を実行します。 -
php start.php restart
を実行してwebmanを再起動します(注意:再起動しなければ効果がありません)。
注意
composer.json内のautoload.files
で設定されたファイルは、webmanが起動する前に読み込まれます。一方、フレームワークのconfig/autoload.php
で読み込まれるファイルはwebmanが起動した後に読み込まれます。
composer.json内のautoload.files
で読み込まれるファイルが変更された場合、再起動が必要です。reloadでは効果がありません。一方、フレームワークのconfig/autoload.php
で読み込まれるファイルはホットリロードをサポートしており、変更後はreloadするだけで効果があります。
フレームワークを利用して特定のファイルを読み込む
一部のファイルはSPR規格に適合せず、自動読み込みできない場合があります。そのため、config/autoload.php
を通じてこれらのファイルを読み込むことができます。例えば:
return [
'files' => [
base_path() . '/app/functions.php',
base_path() . '/support/Request.php',
base_path() . '/support/Response.php',
]
];
注意
autoload.php
でsupport/Request.php
とsupport/Response.php
の二つのファイルを読み込む設定を見てみると、vendor/workerman/webman-framework/src/support/
内にも同じ名前の二つのファイルがあります。私たちはautoload.php
を使ってプロジェクトのルートディレクトリにあるsupport/Request.php
とsupport/Response.php
を優先的に読み込み、このようにすることで、vendor
内のファイルを変更することなく、これら二つのファイルの内容をカスタマイズすることができます。もしこれらのファイルをカスタマイズする必要がない場合は、この二つの設定を無視することができます。