Maison > développement back-end > tutoriel php > Comment accéder aux méthodes du contrôleur dans Laravel 5 : un guide des méthodes et des meilleures pratiques

Comment accéder aux méthodes du contrôleur dans Laravel 5 : un guide des méthodes et des meilleures pratiques

Linda Hamilton
Libérer: 2024-10-30 09:34:02
original
608 Les gens l'ont consulté

How to Access Controller Methods in Laravel 5: A Guide to Methods and Best Practices

Accès aux méthodes du contrôleur dans Laravel 5

Problème :

Dans Laravel, vous avez deux contrôleurs, SubmitPerformanceController et PrintReportController. Vous souhaitez appeler une méthode, getPrintReport, depuis PrintReportController dans SubmitPerformanceController. Comment pouvez-vous y parvenir ?

Réponse :

Il existe plusieurs approches pour accéder aux méthodes de contrôleur entre les contrôleurs dans Laravel 5 :

Méthode 1 : Utilisation de l'assistant app()

<code class="php">app('App\Http\Controllers\PrintReportController')->getPrintReport();</code>
Copier après la connexion

Cette approche récupère l'instance de classe PrintReportController et exécute directement sa méthode getPrintReport. Bien que cela fonctionne, cela n'est pas recommandé en raison de problèmes d'organisation.

Méthode 2 : Héritage

<code class="php">class SubmitPerformanceController extends PrintReportController {
    // ...
}</code>
Copier après la connexion

En étendant PrintReportController, SubmitPerformanceController hérite de toutes ses méthodes, y compris getPrintReport. Cependant, cette approche hérite également de toutes les autres méthodes, qui peuvent ne pas être nécessaires.

Méthode 3 : Traits

La création d'un trait (par exemple, app/Traits) est envisagée the最佳做法 :`

<code class="php">trait PrintReport {
    public function getPrintReport() {
        // ...
    }
}

class PrintReportController extends Controller {
    use PrintReport;
}

class SubmitPerformanceController extends Controller {
    use PrintReport;
}</code>
Copier après la connexion

En utilisant des traits, SubmitPerformanceController peut accéder à la méthode getPrintReport en tant que méthode de contrôleur (par exemple, $this->getPrintReport()). SubmitPerformanceController et PrintReportController peuvent accéder à getPrintReport de cette façon.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal