将一个控制器中的函数调用到另一个控制器

我是 Laravel 的新手。我在PaymentController. 我想从SmartpaySController. 这是 中可用的功能PaymentController。帮助我通过留在SmartpaySController.


public function getPaymentFailed($paymentId) {


        $transactionData = $this->paymentRepo->find($paymentId);

        if($transactionData) {

            $data['quote'] = $this->quoteRepo->getQuoteById($transactionData->quote_id);

            $data['metaTitle'] = 'Payment failed';

            $data['returnMessage'] = $transactionData->return_message;

            return view('payment::payment.quote_payment_failed', $data);

        }

}


临摹微笑
浏览 126回答 4
4回答

鸿蒙传说

Instead of calling controller methods, the better practice is that you can create traits like: app/Traits  and extend in controller//特征trait traitName {    public function getData() {        // .....    }}//控制器class ControlelrName extends Controller {     use TraitName;}

慕村225694

改变:public function getPaymentFailed($paymentId)至:public static function getPaymentFailed($paymentId)这将通过执行以下操作使其在您的 SmartpaySController 中静态可用:PaymentController::getPaymentFailed($paymentId);

有只小跳蛙

您可以使用实时外观使用实时外观,您可以将应用程序中的任何类视为外观。要生成实时外观,请在导入类的命名空间前加上 Facades://...use use Facades\App\Http\Controllers\SomeController;//...return SomeController::getPaymentFailed($request, $paymentId);

慕虎7371278

我建议您不要将函数从一个控制器调用到另一个控制器。制作助手、资源或以其他方式实现相同的功能永远不要使用控制器作为对象但是,如果你想这样做,你可以使用:SomeController.phpclass SomeController extend Controller {    public function someFunction(Request $request) {        // Here Some Code    }}你的控制器.phpuse SomeController;...public function getPaymentFailed(Request $request, $paymentId) {    $controller_data = (new SomeController)->someFunction($request);    $transactionData = $this->paymentRepo->find($paymentId);    if($transactionData) {        $data['quote'] = $this->quoteRepo->getQuoteById($transactionData->quote_id);        $data['metaTitle'] = 'Payment failed';        $data['returnMessage'] = $transactionData->return_message;        return view('payment::payment.quote_payment_failed', $data);    }}
打开App,查看更多内容
随时随地看视频慕课网APP