Salut,

Je suis en train de créer mon portfolio avec le framework Laravel que j'apprends en même temps.

Ce que je veux

J'ai créé un controller "ImagesController" qui s'occupe du traitement des uploads et j'aimerai utiliser la fonction d'upload dans mon controller qui gère les réalisations (RealisationsController) et celui qui s'occupe des posts (PostsController) afin de ne pas répeter mon code d'un controller à l'autre.

Problème

Je ne sais pas comment faire pour appeler le controller Images dans d'autres controllers.

Quelqu'un a déjà eu ce problème ? Quelqu'un a des solutions ?

Merci d'avance !!

5 réponses


Bonsoir.
Un controller n'est pas censé appeler d'autres controller, tu peux soit créer un Middleware, un Service Provider ou autre chose, qui te permettra de pouvoir être utilisé par différents controllers.

Salut,

Tout simplement :

return app()->make(TonController::class)->callAction('index', []);
Mass22
Auteur

Merci ! Je vais essayer

Salut,

Je rejoins la remarque de @Lartak, tu devrais plutôt utiliser un Service Provider c'est plus propre et ça te permettrait d'apprendre à en créer un, d'une pierre deux coups ! ;)

Ou sinon tu peux faire un trait qui le gère pour toi ;)