I am attempting to use Laravel 5 but my {{ HTML::style(\'style.css\') }}
No longer works.
I have updated composer.json to include \"illuminate/ht
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.
If you must not use HTML Facade, do this for simplicity:
<link rel="stylesheet" href="{!! asset('style.css') !!}">
the app.php entries should be:
'providers' => [
// ...
Collective\Html\HtmlServiceProvider::class,
// ...
],
'aliases' => [
// ...
'Form' => Collective\Html\FormFacade::class,
'Html' => Collective\Html\HtmlFacade::class,
// ...
],
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
For those who are looking to configure Laravel 5 with macros:
composer require laravelcollective/html
/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.
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