可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试):
问题:
I am attempting to use Laravel 5 but my {{ HTML::style('style.css') }}
No longer works.
I have updated composer.json to include "illuminate/html": "5.*"
under require. I have added 'Illuminate\Html\HtmlServiceProvider'
to my providers array under app.php and I have added
'Form'=> 'Illuminate\Html\FormFacade',
'HTML'=> 'Illuminate\Html\HtmlFacade'
as well. I then ran composer update
I have restarted WAMP to make sure and it still does not work. I have also tried to use {!! HTML::style('style.css') !!}
which did not work either. What else do I need to do to get this back?
回答1:
Anybody who are using laravel 5.* have to use laravelcollective/html
because Package illuminate/html
is abandoned, you should avoid using it.
your composer.json
file should contain following code in require section(as i am using laravel 5.2 it will be mentioned as 5.2)
"laravelcollective/html": "5.2.*"
run composer update
and your config/app.php
should contain following code in providers array
'providers' => [
Collective\Html\HtmlServiceProvider::class,
]
and aliases should contain
'aliases' => [
'Form' => Collective\Html\FormFacade::class,
'HTML' => Collective\Html\HtmlFacade::class,
]
and please note that whatever aliase you mentioned should appear in your code as
{{HTML::linkAction('MemberController@show', 'view', array($value->id))}}
回答2:
'HTML'=> 'Illuminate\Html\HtmlFacade'
should be
'Html'=> 'Illuminate\Html\HtmlFacade'
回答3:
I think it's a case sensitive problem.
If you register it as 'HTML'=> 'Illuminate\Html\HtmlFacade'
in app.php, you can't use it as html or Html ( then it will only work when you use HTML).
回答4:
{!! Html::style( asset('public/css/artist.css')) !!}
... worked for me, but this
{{ HTML::style( asset('css/artist.css')) }}
... did not worked. But it should work. No!
Laravel is confusing me more from day to day. I try to learn this ... Notwell :D
回答5:
Add to composer.json:
a) "illuminate/html": "5.*"
b) Run Command:- composer update
Add to the app.php providers array:
a) 'Illuminate\Html\HtmlServiceProvider',
Add to the app.php aliases array:
a) 'Html' => 'Illuminate\Html\HtmlFacade',
b) 'Form' => 'Illuminate\Html\FormFacade',
Done
回答6:
1 follow
https://laravelcollective.com/docs/5.3/html
Begin by installing this package through Composer. Run the following from the terminal:
composer require "laravelcollective/html":"^5.3.0"
Next, add your new provider to the providers array of config/app.php:
'providers' => [
// ...
Collective\Html\HtmlServiceProvider::class,
// ...
],
Finally, add two class aliases to the aliases array of config/app.php:
'aliases' => [
// ...
'Form' => Collective\Html\FormFacade::class,
'Html' => Collective\Html\HtmlFacade::class,
// ...
],
Now if you want
{{ HTML::style('css/bootstrap.min.css') }}
or
{!! HTML::style('css/bootstrap.min.css') !!}
//2 way follow.
{{ HTML::style('css/bootstrap.min.css') }}
//change to
{{ Html::style('css/bootstrap.min.css') }}
or
'aliases' => [
// ...
'Form' => Collective\Html\FormFacade::class,
'Html' => Collective\Html\HtmlFacade::class,
// ...
],
//change to
'aliases' => [
// ...
'Form' => Collective\Html\FormFacade::class,
'HTML' => Collective\Html\HtmlFacade::class,
// ...
],
for more see this video tutorial.....
https://www.youtube.com/watch?v=yl6hkoaCS6g
回答7:
In the Laravel 5 "illuminate/html": "5.*" is deprecated and replaced with new dependency "laravelcollective/html": "~5.0"
Begin by installing this package through Composer. Edit your project's composer.json file to require "laravelcollective/html"
In your composer.json file update the following:
"require": {
"laravelcollective/html": "~5.0"
}
Next, update Composer from the Terminal:
composer update
Next, add your new provider to the providers array of config/app.php:
'providers' => [
// ...
'Collective\Html\HtmlServiceProvider',
// ...
],
Finally, add two class aliases to the aliases array of config/app.php:
'aliases' => [
// ...
'Form' => 'Collective\Html\FormFacade',
'Html' => 'Collective\Html\HtmlFacade',
// ...
],
You can also check it here for Laravel 5
https://laravelcollective.com/docs/5.0/html
回答8:
If you must not use HTML Facade, do this for simplicity:
<link rel="stylesheet" href="{!! asset('style.css') !!}">
回答9:
Follow this documentation how to fix it:
https://laravelcollective.com/docs/5.4/html
For each version you change the version number to access the appropriate doc e.g
https://laravelcollective.com/docs/5.x/html
x is the version
回答10:
For those who are looking to configure Laravel 5 with macros:
composer require laravelcollective/html
- In
/config/app.php
, under "providers"
: App\Providers\MacroServiceProvider::class
Create MacroServiceProvider.php
under /app/Providers
:
namespace App\Providers;
use Illuminate\Support\ServiceProvider;
class MacroServiceProvider extends ServiceProvider {
public function boot()
{
foreach (glob(base_path("resources/macros/*.macro.php")) as $filename) {
require_once($filename);
}
}
public function register()
{
//
}
}
Add any macros in the folder /resources/macros
in the format *.macro.php
. Note the needed $this->toHtmlString
in order to escape the string:
Html::macro("something", function() {
return $this->toHtmlString("
Hi there
");
});
Use macros in templates, as described here.
回答11:
run this cmd to laravel installed folder
composer require "laravelcollective/html":"^5.4.0"
and use with public
{!! Html::style( asset('public/css/artist.css')) !!}
回答12:
the app.php entries should be:
'providers' => [
// ...
Collective\Html\HtmlServiceProvider::class,
// ...
],
'aliases' => [
// ...
'Form' => Collective\Html\FormFacade::class,
'Html' => Collective\Html\HtmlFacade::class,
// ...
],
回答13:
I did the same thing as you did: added laravelcollective in my composer, did composer update, added them in my providers and aliases but the code below did not work:
{{ HTML::image('img/picture.jpg') }}
However, I have this working for me
{{ Html::image('img/picture.jpg') }}
I think this is because this issue is case sensitive and that the class HTML vs class Html is being seen as entirely different from one another by this laravel version.
回答14:
'providers' => [
Collective\Html\HtmlServiceProvider::class,
]
'aliases' => [
'Form' => Collective\Html\FormFacade::class,
'Html' => Collective\Html\HtmlFacade::class,
]