cari

Rumah  >  Soal Jawab  >  teks badan

Bagaimana untuk menggunakan kaedah dalam satu pengawal dalam laravel untuk memanggil kaedah dalam pengawal lain?

Apakah yang perlu saya lakukan jika kaedah dalam satu pengawal dalam laravel ingin memanggil kaedah dalam pengawal lain?

Contohnya:
AaaController.php

<?php

namespace App\Http\Controllers;

use App\Http\Controllers\Controller;
use Illuminate\Http\Request;

class AaaController extends Controller
{
    public function aaa()
    {
        //...
    }
}

BbbController.php

<?php

namespace App\Http\Controllers;

use App\Http\Controllers\Controller;
use Illuminate\Http\Request;

class BbbController extends Controller
{
    public function bbb()
    {
        //这里要调用aaa(),应该怎么做?
    }
}

Bagaimanakah kaedah bbb() dalam BbbController harus memanggil kaedah aaa() dalam AaaController?

仅有的幸福仅有的幸福2798 hari yang lalu826

membalas semua(6)saya akan balas

  • 巴扎黑

    巴扎黑2017-05-16 16:49:42

    Ini menunjukkan bahawa anda belum mengekstrak logik dalam kaedah aaa, orm boleh diletakkan dalam Repositori, dan operasi logik boleh diletakkan dalam perkhidmatan

    balas
    0
  • PHP中文网

    PHP中文网2017-05-16 16:49:42

    Ini biasanya tidak disyorkan.

    $ctrl = \App::make(\App\Http\Controllers\AaaController::class);
    \App::call([$ctrl, "aaa"]);

    Mengapa ia begitu rumit dan bukannya hanya mencipta AaaController baharu dan memanggil kaedah secara terus? Kerana kita perlu berurusan dengan suntikan pergantungan.

    balas
    0
  • PHPz

    PHPz2017-05-16 16:49:42

    Buat contoh pengawal A dalam pengawal B
    Adalah mungkin untuk menggunakannya dengan cara ini, tetapi saya tidak tahu sama ada ia sah atau tidak

    balas
    0
  • PHPz

    PHPz2017-05-16 16:49:42

    (AaaController baharu ())->aaa();

    balas
    0
  • 迷茫

    迷茫2017-05-16 16:49:42

    Anda boleh membina BaseController, dan dua controller yang lain bersama-sama mewarisi pengawal ini Beberapa kaedah awam boleh diletakkan dalam BaseController, atau menambah fail pembantu

    balas
    0
  • 大家讲道理

    大家讲道理2017-05-16 16:49:42

    Jika anda mesti melakukan ini, anda boleh menentukan kaedah yang dipanggil sebagai kaedah statik. Kemudian nama kelas dipanggil terus. Tetapi saya tidak mengesyorkan melakukan ini

    balas
    0
  • Batalbalas