È possibile chiamare un metodo da un controller all'interno di un altro controller in Laravel 5 (indipendentemente dal metodo http utilizzato per accedere a ciascun metodo)?Chiama un metodo da un controller all'interno di un altro
risposta
Ecco come l'ho fatto. Utilizzare la parola chiave use
per rendere disponibile OtherController. Quindi puoi chiamare un metodo da quella classe in istanza.
<?php namespace App\Http\Controllers;
use App\Http\Controllers\OtherController;
class MyController extends Controller {
public function __construct()
{
//Calling a method that is from the OtherController
$result = (new OtherController)->method();
}
}
Verificate anche il concetto di un Command in laravel. Potrebbe darti più flessibilità rispetto al metodo sopra.
Questo è quello che ho pensato di fare, ma mi chiedo come passare 'Inputs'? –
use App\Http\Controllers\TargetsController;
// this controller contains a function to call
class OrganizationController extends Controller {
public function createHolidays() {
// first create the reference of this controller
$b = new TargetsController();
$mob = 9898989898;
$msg = "i am ready to send a msg";
// parameter will be same
$result = $b->mytesting($msg, $mob);
log::info('my testing function call with return value' . $result);
}
}
// this controller calls it
class TargetsController extends Controller {
public function mytesting($msg, $mob) {
log::info('my testing function call');
log::info('my mob:-' . $mob . 'my msg:-' . $msg);
$a = 10;
return $a;
}
}
Questo crea solo un altro controller e chiama il suo metodo. Anche la direzione della chiamata è inversa anche a ciò che è scritto nei commenti –
- 1. Chiamare un metodo da un altro controller
- 2. Chiama un metodo membro non statico da un altro metodo
- 3. Chiamare un metodo di controller in un altro controller Ember
- 4. chiama un altro metodo dal metodo principale di java
- 5. Come si chiama un metodo controller da JQuery?
- 6. Possiamo chiamare il metodo di un controller da un altro controller in asp.net MVC?
- 7. Reindirizzamento da un metodo di controller a un altro metodo di controllo
- 8. Reindirizza un controller a un altro controller
- 9. Rendering di un altro controller
- 10. Spring MVC, chiamare un altro controller dall'interno di un controller
- 11. Utilizzo di un controller figlio da un altro modulo
- 12. Spring - Chiama fornitore di autenticazione personalizzata da un controller
- 13. Android Chiama un metodo da un'altra classe
- 14. Metodo di chiamata da un altro ViewController
- 15. Come chiamare un metodo da un altro metodo nell'obiettivo C?
- 16. Come chiamare un puntatore al metodo da un altro metodo
- 17. Comprendere le transazioni Spring - Cosa succede quando un metodo transazionale chiama un altro metodo transazionale?
- 18. Chiama ExceptionMapper da un altro ExceptionMapper in JAX-RS
- 19. Chiamare il metodo di controllo AngularJs da un altro servizio
- 20. Come passare da un controller di visualizzazione a un altro controller di vista
- 21. Javascript: chiama la funzione da un altro file
- 22. Come ottenere la risposta di un controller da un altro controller?
- 23. Chiama un metodo java statico di un altro pacchetto dal codice nativo
- 24. come si chiama un metodo di un oggetto non fittizio?
- 25. Funzione di chiamata da un altro controller Angolare Js
- 26. Chiama una funzione da un altro pacchetto in Go
- 27. Come chiamare un altro post su un altro controller nel test funzionale di Rails
- 28. Java: Chiamare un metodo eccellente, che chiama un metodo override
- 29. Chiamare un metodo da un altro metodo nella stessa classe in C++
- 30. .NET MVC controller instantiate all'interno di un altro controller
La tecnica L4 su http://stackoverflow.com/questions/15205239/call-a-controller-in-laravel-4 probabilmente funzionerà ancora. – ceejayoz
Sei sicuro che in qualche modo potresti farlo, ma se ti trovi nella situazione in cui devi farlo, è un grande odore di codice! Estrarre la funzionalità necessaria in una classe separata e quindi iniettarla nei controller. – Quasdunk
Questo è un grande no-no! Dovresti rifrattore e creare una classe per quello scopo, o una classe astratta ed estendere tutti i tuoi controllori da esso –