php Laravel 5 Class 'form'未找到

qqrboqgw  于 2023-05-05  发布在  PHP
关注(0)|答案(9)|浏览(128)

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

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

我在网站的根目录下运行了这个命令。我修改了/root/. 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 主文件夹,但这也不起作用。

u1ehiz5o

u1ehiz5o1#

Form未包含在laravel5.0中,如在4.0*上,包含它的步骤:
开始通过Composer安装laravelcollective/html包。编辑项目的composer.json文件以要求:

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

接下来,从终端更新composer

composer update

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

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

最后,向config/app.phpaliases数组添加两个类别名:

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

此时,Form应该可以工作
Source

更新Laravel 5.8(2019-04-05):

Laravel 5.8中,config/app.php中的providers可以声明为:

Collective\Html\HtmlServiceProvider::class,

而不是:

'Collective\Html\HtmlServiceProvider',

别名的表示法也相同。

0g0grzrc

0g0grzrc2#

这可能不是你想要的答案,但我建议使用现在社区维护的存储库Laravel Collective Forms & HTML,因为主存储库已经被弃用了。
Laravel Collective正在更新他们的网站。如果需要,您可以view the documentation on GitHub

vxf3dgd4

vxf3dgd43#

只需在项目目录下的终端中输入以下命令,即可根据Laravel版本完成安装:

composer require "laravelcollective/html"

然后将这些行添加到config/app.php

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

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

izkcnapc4#

您也可以尝试在终端或命令中运行以下命令:

  1. composer dump-autocomposer dump-auto -o
  2. php artisan cache:clear
  3. php artisan config:clear
    上面的工作对我来说。
vktxenjb

vktxenjb5#

这是Laravel 5.2的更新。请注意,这与上面所示的格式略有不同。
开始通过Composer安装此包。编辑项目的composer.json文件以要求laravelcollective/html。

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

接下来,从终端更新Composer:

composer update

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

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

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

'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

vcirk6k6

vcirk6k66#

开始通过Composer安装此包。从终端运行以下命令:

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

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

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

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

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

SRC:

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

py49o6xq

py49o6xq7#

在Laravel Version - 4中,HTML和Form存在,但现在没有了。

原因:

唯一的原因是他们收集了一些用户需求,他们希望它更轻量级,所以他们删除了它,因为用户可以手动添加它。

如何在Laravel 5.2或5.3中添加HTML和窗体:
对于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 * 的 *aliases数组 * 中给它们取别名。将最后两行相加

'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/

aiqt4smr

aiqt4smr8#

使用Form,而不是form。资本化计数。

cgfeq70w

cgfeq70w9#

我试过了所有的方法,但只有这个有用:

php artisan route:clear
php artisan cache:clear

相关问题