为什么在Laravel 5.5.43中出现“找不到类'App \ Providers \ Form'”错误?

时间:2018-09-18 11:52:08

标签: php laravel laravel-5.5 laravelcollective

今天早上,我使用以下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,?我想念什么/做错了什么/不理解?

谢谢。

2 个答案:

答案 0 :(得分:1)

运行以下命令:

php artisan config:cache
php artisan cache:clear

答案 1 :(得分:0)

我可能应该删除这个问题,但是简单的答案是在FormServiceProvider.php文件的顶部添加以下内容:

use Form;

谢谢。