Heim  >  Artikel  >  Backend-Entwicklung  >  So greifen Sie auf Controller-Methoden in Laravel 5 zu: Ein Leitfaden zu Methoden und Best Practices

So greifen Sie auf Controller-Methoden in Laravel 5 zu: Ein Leitfaden zu Methoden und Best Practices

Linda Hamilton
Linda HamiltonOriginal
2024-10-30 09:34:02574Durchsuche

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

Zugriff auf Controller-Methoden in Laravel 5

Problem:

In Laravel haben Sie zwei Controller, SubmitPerformanceController und PrintReportController. Sie möchten eine Methode, getPrintReport, von PrintReportController in SubmitPerformanceController aufrufen. Wie können Sie das erreichen?

Antwort:

Es gibt mehrere Ansätze, um in Laravel 5 Controller-übergreifend auf Controller-Methoden zuzugreifen:

Methode 1: Verwenden des app()-Helfers

<code class="php">app('App\Http\Controllers\PrintReportController')->getPrintReport();</code>

Dieser Ansatz ruft die PrintReportController-Klasseninstanz ab und führt ihre getPrintReport-Methode direkt aus. Obwohl es funktioniert, wird es aus organisatorischen Gründen nicht empfohlen.

Methode 2: Vererbung

<code class="php">class SubmitPerformanceController extends PrintReportController {
    // ...
}</code>

Durch die Erweiterung von PrintReportController erbt SubmitPerformanceController alle seine Methoden, einschließlich getPrintReport. Allerdings erbt dieser Ansatz auch alle anderen Methoden, die möglicherweise nicht notwendig sind.

Methode 3: Traits

Das Erstellen eines Traits (z. B. App/Traits) wird in Betracht gezogen the最佳做法:`

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

class PrintReportController extends Controller {
    use PrintReport;
}

class SubmitPerformanceController extends Controller {
    use PrintReport;
}</code>

Durch die Verwendung von Merkmalen kann SubmitPerformanceController auf die getPrintReport-Methode als Controller-Methode zugreifen (z. B. $this->getPrintReport()). Sowohl SubmitPerformanceController als auch PrintReportController können auf diese Weise auf getPrintReport zugreifen.

Das obige ist der detaillierte Inhalt vonSo greifen Sie auf Controller-Methoden in Laravel 5 zu: Ein Leitfaden zu Methoden und Best Practices. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn