自動読み込み

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.phpsupport/Request.phpsupport/Response.phpの二つのファイルを読み込む設定を見てみると、vendor/workerman/webman-framework/src/support/内にも同じ名前の二つのファイルがあります。私たちはautoload.phpを使ってプロジェクトのルートディレクトリにあるsupport/Request.phpsupport/Response.phpを優先的に読み込み、このようにすることで、vendor内のファイルを変更することなく、これら二つのファイルの内容をカスタマイズすることができます。もしこれらのファイルをカスタマイズする必要がない場合は、この二つの設定を無視することができます。