自動読み込み

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で読み込まれるファイルを変更した場合、再起動が必要ですが、再読み込みでは反映されません。一方で、フレームワークのconfig/autoload.phpで読み込まれるファイルは、変更後に再読み込みすることで即座に反映されます。

フレームワークを使用して特定のファイルを読み込む

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.phpおよびsupport/Response.phpを優先的に読み込み、これらのファイルの内容をカスタマイズすることができます。もしカスタマイズが必要ない場合は、これらの設定を無視していただいて構いません。