我创建了文件helpers.php
(app / helpers.php)
function test($var)
{
return $var;
}
我已将app / start / global.php更改为
ClassLoader::addDirectories(array(
app_path().'/commands',
app_path().'/controllers',
app_path().'/models',
app_path().'/database/seeds',
app_path().'/helpers.php',
));
还将composer.json改为
"autoload": {
"classmap": [
"app/commands",
"app/controllers",
"app/models",
"app/database/migrations",
"app/database/seeds",
"app/tests/TestCase.php",
"app/helpers.php"
]
},
但是我什么时候试图在控制器中调用这个函数
$data = Test::all();
return test($data);
它给我一个错误
Call to undefined function test()
出了什么问题?
答案 0 :(得分:1)
添加 -
require app_path().'/helpers.php';
在app/start/global.php
结束时
你不必将它添加到composer.json并设置 -
ClassLoader::addDirectories(array(
app_path().'/commands',
app_path().'/controllers',
app_path().'/models',
app_path().'/database/seeds',
));
希望这会奏效。
答案 1 :(得分:1)
@ sgt的方法运行正常,但如果您仍想使用composer,请使用files
自动加载器。
<强> composer.json 强>
"autoload": {
...
"files": [
"path/to/my/file.php"
]
...
}
在对composer dump-autoload
指令进行更改后,不要忘记autoload
。