Вызов метода контроллера Laravel при запуске - PullRequest
0 голосов
/ 30 августа 2018

Где я должен вызывать метод контроллера, не из клиентского запроса, а внутри приложения Laravel, когда приложение запущено и работает. Я видел schedule,, но это кажется правильным для повторных задач, но не для прямого вызова.

Ответы [ 2 ]

0 голосов
/ 30 августа 2018

Было бы лучше переместить этот метод в основной класс контроллера, расположенный в app/Http/Controllers/Controller.php, и вызвать его с любого дочернего контроллера, используя $this.

Убедитесь, что метод защищен или общедоступен. Частные методы недоступны в дочерних контроллерах.

0 голосов
/ 30 августа 2018

Вы можете вызывать публичные функции контроллера из любой точки вашего приложения Laravel с помощью метода app()->make(), за которым следует имя функции:

$exampleController = app()->make(ExampleController::class);
return $exampleController->exampleFunction();

Примечание. Укажите правильное пространство имен в функции ->make():

$exampleController = app()->make(\App\Http\Controllers\ExampleController::class) ...

и если есть какие-либо параметры для exampleFunction(), обязательно передайте их:

$exampleParam = 1;
return $exampleController->exampleFunction($exampleParam);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...