Laravel 5 Class'形式'未找到

时间:2015-02-26 22:12:45

标签: php laravel composer-php

我已将“illuminate / html”:“5. *”添加到composer.json并运行“composer update”。

  - Installing illuminate/html (v5.0.0)
    Loading from cache

我在网站的根目录中运行了此命令。我在/root/.composer ..和项目的根目录中修改了composer.json文件,但两者都没有区别。

这下载了这个类似乎安装了。我已将以下内容添加到config / app.php

    'Illuminate\Html\HtmlServiceProvider', 

    'Form'      => 'Illuminate\Html\FormFacade',
    'Html'      => 'Illuminate\Html\HtmlFacade',

我想我知道出了什么问题,但我不知道如何解决它。我的安装位于'/ var / www / website'。我检查了文件路径,但Html文件夹不存在。

"/var/www/website/vendor/laravel/framework/src/Illuminate/Html"

我能够在不同的目录中找到类文件。

"/var/www/website/vendor/illuminate/html"

我手动将文件复制到主laravel illuminate / html文件夹,但这也没有用。

9 个答案:

答案 0 :(得分:78)

Form并未包含在laravel 5.0 中,因为它位于 4.0 上,步骤包含它:

首先通过laravelcollective/html安装Composer包。编辑项目的composer.json文件以要求:

"require": {
    "laravelcollective/html": "~5.0"
}

接下来,从终端更新composer

composer update

接下来,将您的新提供商添加到providers的{​​{1}}数组:

config/app.php

最后,将两个类别名添加到'providers' => [ // ... 'Collective\Html\HtmlServiceProvider', // ... ], 的{​​{1}}数组:

aliases

此时,config/app.php应该正常工作

Source

更新 'aliases' => [ // ... 'Form' => 'Collective\Html\FormFacade', 'Html' => 'Collective\Html\HtmlFacade', // ... ], (2019-04-05):

Form中,Laravel 5.8中的Laravel 5.8可以声明为:

providers

而不是:

config/app.php

这个符号对于别名是相同的。

答案 1 :(得分:40)

这可能不是您正在寻找的答案,但我建议使用现在社区维护的存储库Laravel Collective Forms & HTML,因为主要存储库已被弃用。

答案 2 :(得分:20)

您也可以尝试在终端或命令中运行以下命令:
1. composer dump-autocomposer dump-auto -o
2. php artisan cache:clear
3. php artisan config:clear

以上对我有用

答案 3 :(得分:11)

Laravel 5.2对此进行了更新。请注意,这与上面指出的格式略有不同。

首先通过Composer安装此软件包。编辑项目的composer.json文件以要求laravelcollective / html。

"require": {
    "laravelcollective/html": "5.2.*"
}

接下来,从终端更新Composer:

composer update

接下来,将新的提供程序添加到config / app.php的提供程序数组中:

  'providers' => [
    // ...
    Collective\Html\HtmlServiceProvider::class,
    // ...
  ],

最后,将两个类别名添加到config / app.php的别名数组中:

  'aliases' => [
    // ...
      'Form' => Collective\Html\FormFacade::class,
      'Html' => Collective\Html\HtmlFacade::class,
    // ...
  ],

进行此更新后,此代码适用于Laravel 5.2的新安装:

{!! Form::open(array('url' => 'foo/bar')) !!}
    //
{!! Form::close() !!}

我在这里得到了这些信息:https://laravelcollective.com/docs/5.2/html

答案 4 :(得分:11)

只需在项目目录的终端中键入以下命令,然后根据laravel版本进行安装:

composer require "laravelcollective/html"

然后在config/app.php

中添加这些行
'providers' => [
    // ...
    Collective\Html\HtmlServiceProvider::class,
    // ...
],

'aliases' => [
    // ...
   'Form' => Collective\Html\FormFacade::class,
   'Html' => Collective\Html\HtmlFacade::class,
    // ...
],

答案 5 :(得分:3)

首先通过Composer安装此软件包。从终端运行以下命令:

composer require "laravelcollective/html":"^5.3.0"

接下来,将新的提供程序添加到config / app.php的提供程序数组中:

'providers' => [
    // ...
    Collective\Html\HtmlServiceProvider::class,
    // ...
  ],

最后,将两个类别名添加到config / app.php的别名数组中:

'aliases' => [
    // ...
      'Form' => Collective\Html\FormFacade::class,
      'Html' => Collective\Html\HtmlFacade::class,
    // ...
  ],

<强> SRC:

https://laravelcollective.com/docs/5.3/html

答案 6 :(得分:1)

在Laravel版本中 - 4,HTML&amp;表格已存在,但现在不存在。

为什么:

唯一的原因是他们已经收集了一些用户要求,并且他们希望它更轻量级,因此他们将其删除,因为用户可以手动添加它。

如何添加HTML&amp; Laravel 5.2或5.3中的表格:

对于5.2:

转到Laravel Collective site,安装过程已经演示了。

与5.2类似:在命令行中运行命令

composer require "laravelcollective/html":"^5.2.0"

然后,在 config / app.php 中的 provider 数组中。最后使用逗号(,)

添加此行
Collective\Html\HtmlServiceProvider::class,

要使用HTML和FORM文本,我们需要将它们别名为 config / app.php 别名数组。在最后添加两行

'Form' => Collective\Html\FormFacade::class,
'Html' => Collective\Html\HtmlFacade::class,

对于5.3:

只需运行命令

composer require "laravelcollective/html":"^5.3.0"

其余程序如 5.2

然后,您可以在项目中使用Laravel Form和其他HTML链接。为此,请遵循以下文档:

5.2: https://laravelcollective.com/docs/5.2/html

5.3: https://laravelcollective.com/docs/5.3/html

演示代码: 要打开表单打开和关闭标记:

{!! Form::open(['url' => 'foo/bar']) !!}

{!! Form::close() !!}

使用bootstrap表单控件类创建标签和输入文本以及其他用途:

{!! Form::label('title', 'Post Title') !!}
{!! Form::text('title', null, array('class' => 'form-control')) !!}

如需更多信息,请使用文档https://laravelcollective.com/

答案 7 :(得分:0)

使用Form,而不是form。资本化很重要。

答案 8 :(得分:0)

我尝试过所有事情但只有这有帮助:

php artisan route:clear
php artisan cache:clear