107 votes

laravel Impossible de préparer la route ... pour la sérialisation. Utilise Closure

Lorsque je vide les caches dans mon projet Laravel 5.2, je vois ce message d'erreur :

[LogicException] Impossible de préparer la route [panel] pour la sérialisation. Utilise Closure.

Je pense que c'est lié à une route.

Route::get('/article/{slug}', 'Front@slug');

associé à une méthode particulière de mon contrôleur :

public function slug($slug) {
    $article = Article::where('slug',$slug)->first();

    $id = $article ->id_article ;

    if ( ($article=== null) || (is_null($id)) ) return view('errors/Db');

    else return view('detail')->with(array('article'=> $article,  'title'=>'My title - '.$article->title)); 
}`

En bref, à partir d'une vue principale, je passe $slug, qui est un lien court vers l'article, avec $slug , qui est unique dans la base de données, j'identifie l'enregistrement et ensuite je passe son contenu à la vue détaillée.

Je n'ai pas eu de problème lorsque j'ai écrit la méthode, en fait elle a fonctionné comme un charme, mais après avoir nettoyé les caches, j'obtiens cette erreur et les liens dans la vue principale ne montrent aucun shortcode.

Où est-ce que je me trompe ?

0 votes

S'il vous plaît modifier votre question pour inclure le reste de vos itinéraires (en particulier l'itinéraire du panneau)

6voto

Pawan Verma Points 61

Vérifiez votre routes/web.php et routes/api.php

Laravel est livré avec une fermeture de route par défaut dans routes/web.php :

Route::get('/', function () {
    return view('welcome');
});

et routes/api.php

Route::middleware('auth:api')->get('/user', function (Request $request) {
    return $request->user();
});

Si vous le supprimez, essayez à nouveau de vider le cache de la route.

4voto

DM developing Points 55

Si quelqu'un cherche encore une réponse, pour moi le problème se trouvait dans le fichier routes/web.php. Exemple :

Route::get('/', function () {
    return view('welcome');
});

Il s'agit également de la Route, donc oui... Enlevez-la si vous n'en avez pas besoin et vous êtes prêt à partir ! Vous devez également suivre les réponses fournies ci-dessus.

1 votes

Bonjour Aline Matos, pas de problème. Il m'a fallu une journée entière pour comprendre ce qui n'allait pas... Je suis content que ça ait aidé.

4 votes

Et si c'était nécessaire ?

1 votes

@Aziz il suffit de le déplacer dans un contrôleur

-3voto

pankaj kumar Points 700

Vérifiez que votre web.php Le fichier a cette extension

use Illuminate\Support\Facades\Route;

mon problème a été résolu de cette façon.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X