在Laravel中添加HTML和Forms后出错

时间:2016-02-16 16:40:04

标签: php laravel laravel-5

在config / app.php文件中,我将服务提供者添加到列表中:

'Illuminate\Html\HtmlServiceProvider',

并添加了别名:

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

但我明白了:

  

HtmlServiceProvider.php第36行中的FatalErrorException:调用未定义的方法Illuminate \ Foundation \ Application :: bindShared()

3 个答案:

答案 0 :(得分:1)

解决方案1 ​​ 转到Illuminate\Foundation\Application文件,将bindShare替换为singleton。这将解决您的问题。

bindShared已重命名为$app->singleton()

这会改变核心文件并且是推荐的。但如果只是寻找快速解决方案,这将有所帮助。但我强烈建议你遵循第二个解决方案。

解决方案2

主要问题是因为您使用的包Illuminate/HTML已不再受到保护。您可以使用Laravelcollective/HTML代替此。

首先,在Illuminate\Html

中注释config/app.php.的引用

接下来,让作曲家删除illuminate/html

之后,执行composer require laravelcollective/html

现在取消注释Illuminate\Html文件中的config/app.php项,并更新对Collective\Html的引用,而不是Illuminate\Html

答案 1 :(得分:1)

我认为您应该按照以下步骤在laravel 5中添加HTML和FORM类。

首先打开composer.JSON文件并在" laravel / framework":" 5.2。*"之后写下行。             最后把逗号(,)放在

         "laravelcollective/html": "5.2.*"

        now open command promt and type command "composer update"
        It will take some time to upgrade.

        after complete upgradation Register the service provider in config/app.php by adding the following value into the providers array:

            Collective\Html\HtmlServiceProvider::class,

        Register facades by adding these two lines in the aliases array:

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

希望这能解决您的问题。

答案 2 :(得分:0)

见这篇文章
htmlserviceprovider