我使用的是Laravel 4.1,我有一个名为html.php的文件,在该文件中我使用html::。现在,在返回$app之前,我正在bootstrap/start.php中加载带有此代码的文件;
require $app['path.base'].'/app/macros/html.php';
我不知道这是否"可以",所以现在我尝试在composer.json中自动加载html.php,使用以下内容:
"files": [
"app/macros/html.php"
]
但当我这样做的时候,我会得到这个错误:
PHP Fatal error: Class 'HTML' not found in /app/macros/html.php on line 9
第9行看起来像这样:
HTML::macro("flash", function(){
我做错了什么?
当我认为在composer.json中加载html.php比在bootstrap/start.php中加载更漂亮时,我错了吗?
您无法从composer加载宏文件,因为这将在Laravel的东西之前加载它,而且您还无法访问HTML外观。
正确的位置是在app/start/global.php的底部:
require app_path().'/filters.php';
require app_path().'/macros/html.php';
我想您忘记了执行以下操作:
composer dump-autoload