在准确使用Laravel 4的项目时,我决定制作自己的帮助文件以容纳我的自定义函数..其中一个是下面的...
function pr($ar=array(), $bool=false){
echo '<pre>';
print_r($ar);
echo '</pre>';
if($bool){
exit;
}
}
在我的composer.json文件中,就在autoload:classmap之后,我添加了myne,autoload:files -arrar并包含了我的自定义文件,app / helpers,如下图所示..
"app/database/migrations",
"app/database/seeds",
"app/tests/TestCase.php"
],
"others":[
"app/helpers.php"
]
然后我切换到终端窗口并运行以下命令
composer dump-autoload -o
但我仍然有错误,我的pr()函数未定义...然后我尝试了工匠替代... [ - o]来优化文件
php artisan dump-autoload
但它仍然拒绝工作......然后我改变了数组名称
"others":[
"app/helpers.php"
]
到
"files":[
"app/helpers.php"
]
然后我得到了想要的回复,我的代码现在可以看到我写的自定义函数了,请我知道是否有我应该遵循的模式,否则,在我的情况下,我误认为& #34;文件&#34;,用于&#34;其他人&#34;我得到了错误,但是,我在这里错过了什么,我看到的只是数组表示的名称字符串值....
答案 0 :(得分:2)
这就是作曲家的作品。在autoload
部分中,当您要加载某些文件时,需要使用files
。在我的Laravel 5项目中,我有例如:
"autoload": {
"classmap": [
"database",
"tests/TestCase.php"
],
"psr-4": {
"App\\": "app/",
"verify\\": "verify/"
},
"files": [
"app/Helpers/functions.php"
]
},
如果查看documentation,您会看到需要使用files
通过自动加载器加载任何额外的文件。
答案 1 :(得分:0)
目前PSR-0自动加载,PSR-4自动加载,类图生成 和文件包括支持。 PSR-4是推荐的方式 因为它提供了更大的易用性(无需再生 添加类时自动加载器。)
因此"others"
不起作用的原因是因为作曲家不支持它。 "others"
只是毫无意义,而"files"
实际上只有specific autoloading mechanism。