f4b1.com
***

Comment résoudre l'erreur class 'form' not found dans une vue Blade de Laravel

By Admin on 2017-03-15 08:59:24

Nombre de vues : 690


Il y a eu quelques changements avec le passage à la version 5 de Laravel, la classe Form pour construire vos formulaires, en effet cette possibilité a tout simplement été supprimée du framework lors du passage à la version 5.

Mais rassurez-vous, si vous aviez l'habitude d'utiliser les instructions suivantes dans vos blade de Laravel :

{!! Form::open(['url' => 'url/post']) !!}

{!! Form::close() !!}

Sachez que c'est toujours possible, il faut juste faire une petite action en plus pour ne pas se prendre l'erreur suivante après le déploiement de votre projet :

class 'form' not found

Cet article n'a pas pour but de vous expliquer comment utiliser le form builder dans les blade de Laravel mais juste de résoudre cette erreur qui pourrait vous faire perdre du temps alors que la solution est vraiment toute simple. Je ferais un article complet sur le sujet et comment utiliser le form builder dans les blade de Laravel pour construire facilement et surtout rapidement vos formulaires HTML pour interagir avec vos utilisateurs.

En effet alors que cette fonctionnalité à été supprimée du framework Laravel "de base", ce n'est pas pour autant qui n'est plus possible de s'en servir. Grâce à la grande communauté autour de Laravel, il est toujours possible d'utiliser cette classe mais il faut maintenant passer par le package laravelcollective/html.

Pour l'installer il suffit de faire la commande suivante pour Composer dans votre projet Laravel :

composer require "laravelcollective/html":"^5.4"

Ensuite, il va falloir comme d'habitude ajouter dans le tableau "providers" du fichier config/app.php notre nouvelle classe pour pouvoir l'utiliser partout dans notre projet :

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

Il faudra faire de même dans le tableau "aliases" de ce fichier config/app.php en ajoutant à la suite :

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

Et voila, vous pouvez maintenant utiliser la classe Form de dans vos blade Laravel sans le moindre problème !