0
votes

Fonction d'appel dans un contrôleur à un autre contrôleur

Je suis nouveau à Laravel. J'ai des fonctions dans PaymentController . Je veux appeler ces fonctions à partir de smartpayscontroller . Voici la fonction disponible dans PaymentController . Aidez-moi à appeler cette fonction en séjournant dans SmartPaySController . XXX

Merci.


1 commentaires

Si ce n'est que la seule méthode et il ne justifie pas la création d'une classe de "service", une possibilité serait de créer un trait que vos contrôleurs utilisent les deux contrôleurs.


4 Réponses :


0
votes

Je vous recommande de ne pas appeler des fonctions d'un contrôleur à un autre. Faire des assistants, des ressources ou de la même fonctionnalité d'une autre manière

Ne jamais utiliser les contrôleurs comme objet p> blockQuote>

Mais si vous voulez le faire quand même, vous pouvez utiliser: p> somecontroller.php strong> xxx pré> fort> votrecontroller.php forte >

use 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);
    }
}


0 commentaires

1
votes

Modification: xxx

à: xxx

Cela le rendra statique disponible sur votre SmartPaySController en faisant: < Pré> xxx


3 commentaires

Sans modification Fonction publique getPaymentFaysedFailed ($ payais) comme Fonction statique publique getPaymentFailed ($ payais) , je ne peux pas appeler? Parce qu'il s'agit d'un projet en direct et de fonctions déjà écrites. Une autre chose est que, si je le change en tant que statique, cela répertoriera-t-il aux autres?


Vous devez faire la fonction statique ou prolonger le paiementContrôleur. Sinon, vous ne pouvez pas appeler la fonction.


Je pense que votre site Web fonctionnera toujours lorsque vous déclarez votre fonction statique. Mais je le testerais toujours.



1
votes
class ControlelrName extends Controller {
     use TraitName;
}

1 commentaires

Totalement d'accord que l'utilisation de la méthode de contrôleur comme logique commerciale est un modèle anti-modèle en MVC :)