自動載入

利用 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.jsonautoload.files 設定的檔案會在 webman 啟動前載入;而透過框架 config/autoload.php 載入的檔案則在 webman 啟動後才載入。
composer.jsonautoload.files 載入的檔案變更後必須 restart 才會生效,reload 不生效。透過框架 config/autoload.php 載入的檔案支援熱載入,變更後 reload 即可生效。

利用框架載入某些檔案

有些檔案可能不符合 PSR 規範,無法自動載入,可透過設定 config/autoload.php 載入這些檔案,例如:

return [
    'files' => [
        base_path() . '/app/functions.php',
        base_path() . '/support/Request.php', 
        base_path() . '/support/Response.php',
    ]
];

提示
autoload.php 中設定了載入 support/Request.phpsupport/Response.php 兩個檔案,因為 vendor/workerman/webman-framework/src/support/ 下也有同名的檔案。透過 autoload.php 優先載入專案根目錄下的這兩個檔案,可讓你自訂其內容而無需修改 vendor 中的檔案。若不需要自訂,可略過這兩項設定。