自動載入
利用 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
中的檔案。如果你不需要定製它們,則可以忽略這兩個配置。