看文檔里面好像還沒有在插件中導(dǎo)入自己的函數(shù)呀,我新建了一個(gè)插件的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)在有沒有其他方案可以擴(kuò)展引入自己的函數(shù)庫(kù)呢?還是得用這個(gè)方法呀? 我這里倒是可以改,但發(fā)布了插件,官方的bootstrap.php沒有這些代碼,別人安裝我插件就報(bào)錯(cuò)了呀
下個(gè)版本會(huì)加上這個(gè)代碼。
如果擔(dān)心有的用戶沒有這段代碼,就用composer.json來(lái)自動(dòng)加載。
本地開發(fā)需要更改2個(gè)composer.json,一個(gè)是webman的composer.json,一個(gè)是你插件的composer.json。正式發(fā)布的時(shí)候只需要你插件的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、你的插件項(xiàng)目的composer.json里autoload.files類似這樣
"autoload": {
"psr-4": {
// 這里省略了配置
},
"files": [
"./src/functions.php"
]
},
然后執(zhí)行 composer dumpautoload