自動加載

利用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加載的檔案更改後必須restart才能生效,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中的檔案。如果你不需要定製它們,則可以忽略這兩個配置。