wherekey Laravel 5 Class 'HTML' non trovato




laravel wherekey (11)

Sto tentando di utilizzare Laravel 5 ma il mio {{ HTML::style('style.css') }} non funziona più.

Ho aggiornato composer.json per includere "illuminate/html": "5.*" sotto require. Ho aggiunto ' Illuminate\Html\HtmlServiceProvider' al mio array di provider sotto app.php e ho aggiunto

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

anche. Ho quindi eseguito l' composer update ho riavviato WAMP per assicurarmi che non funzioni ancora. Ho anche provato a usare {!! HTML::style('style.css') !!} {!! HTML::style('style.css') !!} che non ha funzionato neanche. Cos'altro devo fare per riprenderlo?


Ho fatto la stessa cosa che hai fatto tu: ho aggiunto laravelcollective nel mio compositore, ho aggiornato i compositori, li ho aggiunti nei miei provider e alias ma il codice sotto non funzionava:

{{ HTML::image('img/picture.jpg') }}

Tuttavia, ho questo lavoro per me

{{ Html::image('img/picture.jpg') }}

Penso che questo sia dovuto al fatto che il problema è sensibile alle maiuscole e minuscole e che la classe HTML rispetto alla classe Html viene vista come completamente diversa l'una dall'altra da questa versione di laravel.


Penso che sia un problema sensibile al maiuscolo / minuscolo.

Se lo si registra come 'HTML'=> 'Illuminate\Html\HtmlFacade' in app.php, non è possibile usarlo come html o Html (quindi funzionerà solo quando si utilizza HTML).


le voci di app.php dovrebbero essere:

'providers' => [

    // ...
    Collective\Html\HtmlServiceProvider::class,
    // ...
],

'aliases' => [

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

Se non si deve usare HTML Facade, farlo per semplicità:

<link rel="stylesheet" href="{!! asset('style.css') !!}">

Per coloro che stanno cercando di configurare Laravel 5 con macro:

  1. composer require laravelcollective/html
  2. In /config/app.php , sotto "providers" : App\Providers\MacroServiceProvider::class
  3. Creare MacroServiceProvider.php in /app/Providers :

    namespace App \ Provider;

    utilizzare Illuminate \ Support \ ServiceProvider;

    classe MacroServiceProvider estende ServiceProvider {

    public function boot()
    {
        foreach (glob(base_path("resources/macros/*.macro.php")) as $filename) {
            require_once($filename);
        }
    }
    
    public function register()
    {
        //
    }
    

    }

  4. Aggiungi eventuali macro nella cartella /resources/macros nel formato *.macro.php . Nota il necessario $this->toHtmlString per sfuggire alla stringa:

    Html :: macro ("qualcosa", function () {return $ this-> toHtmlString ("

    Ciao

    ");});

  5. Utilizza le macro nei modelli, come descritto qui .


'HTML' => 'Illumina \ Html \ HtmlFacade'

dovrebbe essere

'Html' => 'Illuminate \ Html \ HtmlFacade'



  1. Aggiungi a composer.json:
    a) "illuminate / html": "5. *"
    b) Esegui comando: - aggiornamento del compositore

  2. Aggiungi all'array dei provider di app.php:
    a) "Illuminate \ Html \ HtmlServiceProvider",

  3. Aggiungi all'array di alias di app.php:
    a) 'Html' => 'Illuminate \ Html \ HtmlFacade',
    b) 'Form' => 'Illuminate \ Html \ FormFacade',

  4. Fatto


Nel Laravel 5 "illuminate / html": "5. *" è deprecato e sostituito con una nuova dipendenza "laravelcollective / html": "~ 5.0"

Inizia installando questo pacchetto tramite Composer. Modifica il file composer.json del tuo progetto per richiedere "laravelcollective / html"

Nel tuo file compositore.json aggiorna quanto segue:

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

Quindi, aggiorna Composer dal Terminale:

composer update

Successivamente, aggiungi il tuo nuovo provider alla serie di provider di config / app.php:

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

Infine, aggiungi due alias di classe alla matrice di alias di config / app.php:

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

Puoi anche controllare qui per Laravel 5

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


Chiunque stia usando laravel 5. * deve usare laravelcollective/html perché Package illuminate/html è abbandonato, si dovrebbe evitare di usarlo.

il tuo file composer.json dovrebbe contenere il seguente codice nella sezione require (dato che sto usando laravel 5.2 verrà menzionato come 5.2)

"laravelcollective/html": "5.2.*"

eseguire l' composer update

e la tua config/app.php dovrebbe contenere il seguente codice nella matrice dei fornitori

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

]

e gli alias dovrebbero contenere

'aliases' => [

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

e ti preghiamo di notare che qualsiasi alias che hai menzionato dovrebbe apparire nel tuo codice come

{{HTML::linkAction('[email protected]', 'view', array($value->id))}}

{!! Html::style( asset('public/css/artist.css')) !!}

... ha funzionato per me, ma questo

{{ HTML::style( asset('css/artist.css')) }}

... non ha funzionato Ma dovrebbe funzionare. No!

Laravel mi sta confondendo di più da un giorno all'altro. Cerco di imparare questo ... Notwell: D





laravel-5