国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

Wie verwende ich eine Methode in einem Controller in Laravel, um eine Methode in einem anderen Controller aufzurufen?
僅有的幸福
僅有的幸福 2017-05-16 16:47:42
0
6
951

Was soll ich tun, wenn eine Methode in einem Controller in Laravel eine Methode in einem anderen Controller aufrufen m?chte?

Zum Beispiel:
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()
    {
        //這里要調(diào)用aaa(),應(yīng)該怎么做?
    }
}

Wie soll die bbb()-Methode in BbbController die aaa()-Methode in AaaController aufrufen?

僅有的幸福
僅有的幸福

Antworte allen(6)
巴扎黑

這說(shuō)明你沒(méi)有把a(bǔ)aa方法中的邏輯提取出來(lái), orm可以放在Repository, 邏輯操作可以放在service中

洪濤

通常是不建議這么做的。

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

為什么要這么復(fù)雜而不是直接new一個(gè)AaaController然后直接調(diào)用方法?因?yàn)橐幚硪蕾囎⑷搿?/p>

PHPzhong

在B控制器里創(chuàng)建一個(gè)A控制器的實(shí)例
這么用是可以用,但是我不知道這么用合不合規(guī)矩

PHPzhong

(new AaaController ())->aaa();

迷茫

你可以建一個(gè)BaseController,其他兩個(gè)congtroller共同繼承這個(gè)controller,一些公用方法可以放置到BaseController里面,或者加個(gè)helper文件

大家講道理

如果你非要這么做的話,可以把被調(diào)用的方法定義成靜態(tài)方法。然后類名直接調(diào)用。不過(guò)很不建議這么做

Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage