今天早上,我使用以下Composer命令安装了Laravel 5.5.43:
composer create-project laravel/laravel project-name
然后我在项目文件夹中运行以下命令来安装Laravel Collective:
composer require "laravelcollective/html":"^5.4.0"
然后我在providers
的{{1}}下添加了以下内容:
config/app.php
然后我在Collective\Html\HtmlServiceProvider::class,
的{{1}}下添加了以下内容:
aliases
之后,我想创建自定义表单组件,因此我运行了以下Artisan命令:
config/app.php
在这个新的提供程序文件中,我将以下行添加到'Form' => Collective\Html\FormFacade::class,
'Html' => Collective\Html\HtmlFacade::class,
方法中:
php artisan make:provider FormServiceProvider
最后,我在boot
的{{1}}中添加了以下内容:
Form::component('customText', 'components.form.text', ['name', 'value' => null, 'attributes' => []]);
当我这样做并从浏览器刷新Laravel实例时,出现以下错误:
providers
但是,如果我将以下内容添加到config/app.php
文件的顶部,那么它将起作用:
App\Providers\FormServiceProvider::class,
我了解名称空间的概念以及为什么文件中的Class 'App\Providers\Form' not found
方法中的FormServiceProvider.php
方法可以正常工作,但是我不明白的是为什么我需要添加{{ 1}}完全指向文件。
use Collective\Html\FormFacade AS Form;
文件的Form::component
数组中的boot
行不是应该为我这样做的,所以我不需要添加use
行到'Form' => Collective\Html\FormFacade::class,
?我想念什么/做错了什么/不理解?
谢谢。
答案 0 :(得分:1)
运行以下命令:
php artisan config:cache
php artisan cache:clear
答案 1 :(得分:0)
我可能应该删除这个问题,但是简单的答案是在FormServiceProvider.php
文件的顶部添加以下内容:
use Form;
谢谢。