我刚刚把Laravel从5.0升级到5.1。
我得到这个错误:
Call to undefined method Illuminate\Foundation\Application::bindShared()
所以在一些搜索之后,我需要将bindShared更改为singleton。
我可以在vendor/illuminate/html/HtmlServiceProvider.php中完成此操作
问题是,当另一个开发人员在项目上工作并执行composer安装时,或者我部署到服务器时,会发生什么。
如何持久保存对供应商文件夹中文件的更改?
5条答案
按热度按时间vmjh9lq91#
好的,根据你的评论,我看到了你的问题(我应该早点注意到,因为你在你的问题中提到了HTML组件。
illuminate/html
组件已经不再是Laravel的一部分了,而且还没有更新到符合5.1标准。事实上,我很确定它现在已经被Taylor正式放弃了。但是,您可以用laravelcollective/html替换
illuminate/html
需求-这是illuminate/html的官方社区接管,应该是一个直接替代品。不需要弄乱
vendor
中的东西!ax6ht2ek2#
Illuminate/html
已被放弃。请使用Collective/html
。要安装它,请使用以下命令
然后在app/app.php文件中更改/添加如下
对于供应商
还有化名
doinxwow3#
这个问题是由bindShared()方法引起的,只需将其改为singleton()即可
文件位于此处:/projectname/vendor/illuminate/html/HtmlServiceProvider.php
更改行号:36和49
ivqmmu1c4#
以下Laravel功能已被弃用,并将在2015年12月发布的Laravel 5.2中完全删除:...
服务容器的
bindShared
方法已被弃用,取而代之的是singleton
方法。参考:https://laravel.com/docs/5.1/upgrade
因此,例如,从L5.1开始,您可以安全地更改:
致:
b1uwtaje5#
我是Rails开发人员,刚接触laravel,第一天就遇到了表单生成器的问题。我已经讨论过很多次了,但我的解决方案是**https://laravelcollective.com/docs/5.0/html要使用blade表单生成器(Form::open),我们需要更改composer.json**,并在require块中添加
"laravelcollective/html": "~5.0"
。然后运行composer update,因为只有新的依赖项才能用于您的项目。现在,在config/app.php的providers块中添加'Collective\Html\HtmlServiceProvider',还需要添加在别名块中的config/app.php内。
运行php artisan serve享受使用刀片引擎的表单生成器。