看文檔里面好像還沒有在插件中導入自己的函數(shù)呀,我新建了一個插件的autoload.php,但似乎好像還是沒生效
support/bootstrap.php里找到
foreach (config('autoload.files', []) as $file) {
include_once $file;
}
在上面加一段代碼
foreach (config('plugin', []) as $firm => $projects) {
foreach ($projects as $name => $project) {
foreach ($project['autoload']['files'] ?? [] as $file) {
include_once $file;
}
}
}
現(xiàn)在有沒有其他方案可以擴展引入自己的函數(shù)庫呢?還是得用這個方法呀? 我這里倒是可以改,但發(fā)布了插件,官方的bootstrap.php沒有這些代碼,別人安裝我插件就報錯了呀
下個版本會加上這個代碼。
如果擔心有的用戶沒有這段代碼,就用composer.json來自動加載。
本地開發(fā)需要更改2個composer.json,一個是webman的composer.json,一個是你插件的composer.json。正式發(fā)布的時候只需要你插件的composer.json。
比如你要加載的文件是 vendor/foo/admin/src/functions.php
1、webman的composer.json里autoload.files里加上要加載的文件
"autoload": {
"psr-4": {
"": "./",
"App\\": "./app"
},
"files": [
"./support/helpers.php",
"./vendor/foo/admin/src/functions.php"
]
},
2、你的插件項目的composer.json里autoload.files類似這樣
"autoload": {
"psr-4": {
// 這里省略了配置
},
"files": [
"./src/functions.php"
]
},
然后執(zhí)行 composer dumpautoload