Je passe de la version 4.2 directement à la version 5.1 et je rencontre des problèmes avec les classes HTML et Form.
J'ai suivi les notes de mise à niveau et
Mais mes points de vue ne fonctionnent pas. Je reçois soit Class HTML does not exist
en utilisant HTML :: router, soit Class html does not exist
en utilisant link_to_route
J'ai aussi essayé Illuminate\html
au lieu de laravelcollective
, j'ai fait un composer dump-autoload
.
Les erreurs complètes:
ErrorException in Container.php line 736: Class html does not exist (View: C:\Dev\www\admin\resources\views\clubs\index.blade.php)
ReflectionException in Container.php line 736: Class html does not exist
Qu'est-ce que je rate?
J'ai essayé les réponses de tout le monde et aucune d'entre elles n'a fonctionné pour moi pour une raison quelconque. En fin de compte, j'ai créé une toute nouvelle application laravel, copié mon code puis tout a commencé à fonctionner. Le problème, même résolu, reste donc un mystère.
Mon problème est résolu, mais la cause réelle reste inconnue. J'ai créé une nouvelle installation de laravel et copié mon source (le tout). La nouvelle application a fonctionné immédiatement (après l’installation d’illuminate/html).
Donc vous pensez que j'ai fait quelque chose de mal avec les paquets? C'est ce que je pensais, puis j'ai fait un diff sur les deux répertoires, pour découvrir qu'ils étaient identiques. C'est donc un vrai mystère.
Donc, maintenant tout fonctionne, j'ai simplement renommé ma nouvelle application et je peux continuer.
Je sais qu'à un moment donné, les versions collective et illuminée du paquet HTML ont probablement été installées. C'est ce qui a probablement tout corrompu.
Ajouter composer.json
"illuminate/html": "5.*"
et lancez la mise à jour du compositeur
Ouvrez votre config/app.php
ajouter sous 'fournisseurs'
Illuminate\Html\HtmlServiceProvider::class,
ajouter sous 'alias'
'Form' => Illuminate\Html\FormFacade::class,
'Html' => Illuminate\Html\HtmlFacade::class,
et sous vos modèles de lames, utilisez-les comme tels
{!! HTML::style('assets/css/flatten.css') !!}
Ma solution dans mon cas était un problème avec le nom de classe CASE-Sensitive.
In my config/app.php (in aliases)
'Form' => Collective\Html\FormFacade::class,
'Html' => Collective\Html\HtmlFacade::class,
Je suis essayé d'utiliser en vue ce code:
{!! HTML::mailto('mailto:[email protected]', '[email protected]'); !!}
et c'était une erreur:
"FatalErrorException in ccf70b1d0b9930d6c4e8f3859fff448f line 11: Class 'HTML' not found"
Le nom de la classe 'HTML' est sensible à CASE. Vous devez utiliser 'Html' comme dans votre fichier config (config/app.php).
J'espère que cette aide pour certaines personnes.
S'il vous plaît changer votre fichier de lame à partir de cette
{{ HTML::style('css/bootstrap.min.css') }}
à
{{ Html::style('css/bootstrap.min.css') }}
Ça marche.
Un simple redémarrage après la mise à jour du compositeur a parfaitement fonctionné pour moi. Je cherchais la réponse et je me suis retrouvé coincé à la même position. Je suggérerais de lancer config: cache et cache: effacer et redémarrer l'EDI. Ça va marcher.
Je pense avoir trouvé la solution.
Dans votre app.php
vous avez déclaré
'Form' => Illuminate\Html\FormFacade::class,
'Html' => Illuminate\Html\HtmlFacade::class,
Dans votre View
, vous avez appelé la même classe que
{!! HTML::style('css/bootstrap.min.css') !!}
Il n'y a rien de mal à ce que les paquets correspondent à la réponse marquée ci-dessus, mais plutôt à une différence de majuscule de Word HTML
à la version précédente de la version 5.0. *.
CA devrait etre
'Form' => Illuminate\Html\FormFacade::class,
'HTML' => Illuminate\Html\HtmlFacade::class,
edit config/app.php
ajouter ceci dans providers
Collective\Html\HtmlServiceProvider::class,
et ceci dans aliases
'Form' => Collective\Html\FormFacade::class,
'Html' => Collective\Html\HtmlFacade::class,
si vous essayez d’utiliser Form :: open () ou l’une des méthodes du formulaire dans une nouvelle installation de Laravel 5, vous obtiendrez quelque chose comme ceci: http://laraveldaily.com/class-form-not-found-in-laravel-5/
L'essayer
php artisan cache: effacer
php artisan clairement compilé