Rumah > Artikel > pembangunan bahagian belakang > Bagaimana untuk Mengakses Kaedah Pengawal daripada Pengawal Lain dalam Laravel 5?
Cara Mengakses Kaedah Pengawal daripada Pengawal Lain dalam Laravel 5
Apabila bekerja dengan berbilang pengawal dalam Laravel, anda mungkin perlu mengakses kaedah dari satu pengawal dalam yang lain. Berikut ialah pelbagai pendekatan untuk mencapai matlamat ini:
Menggunakan Kaedah App::call()
Anda boleh mengakses kaedah menggunakan fungsi pembantu app():
<code class="php">app('App\Http\Controllers\PrintReportController')->getPrintReport();</code>
Walau bagaimanapun, pendekatan ini tidak disyorkan kerana kebimbangan organisasi.
Melanjutkan Pengawal
Anda boleh mewarisi kaedah dengan melanjutkan pengawal yang lain:
<code class="php">class SubmitPerformanceController extends PrintReportController { // .... }</code>
Ini akan mewarisi semua kaedah daripada PrintReportController, yang mungkin tidak diingini.
Menggunakan Sifat
Pendekatan pilihan adalah untuk mencipta trait dengan logik yang diingini:
<code class="php">trait PrintReport { public function getPrintReport() { // ..... } }</code>
Kemudian, masukkan trait dalam pengawal yang berkaitan:
<code class="php">class PrintReportController extends Controller { use PrintReport; } class SubmitPerformanceController extends Controller { use PrintReport; }</code>
Ini membolehkan kedua-dua pengawal mengakses kaedah getPrintReport() melalui $this-> ;getPrintReport().
Atas ialah kandungan terperinci Bagaimana untuk Mengakses Kaedah Pengawal daripada Pengawal Lain dalam Laravel 5?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!