Как проверить, выполнен ли Artisan::call и, если true, вызвать другую функцию

#php #laravel #command #laravel-artisan

#php #laravel #команда #laravel-artisan

Вопрос:

итак, я работаю над проектом Laravel

я создаю Html-форму, которая управляет /config/app.php файлом, поэтому после того, как пользователь нажимает кнопку отправки, я вызываю

Artisan::call('config:cache') для выполнения этих изменений

но это может занять от 1.00 до 3: 00 секунды, поэтому я попробовал это :

 //# if submit [in the method]:


Artisan::call('config:cache');
sleep(3); // to wait until generate the cache  
return Redirect::back()->with('status','every thing is updated!');
  

но что мне нужно, так это вызвать Redirect::back() сразу после Artisan::call завершения

пример :

 if (Artisan::call('config:cache')){
    return Redirect::back()->with('status','every thing is updated!')
}
  

К сожалению, пример не сработал со мной, он выдает мне пустую белую страницу (без вызова return )

каково решение? ,, Заранее спасибо

Комментарии:

1. Artisan: вызов должен быть синхронным, не должно быть необходимости в режиме ожидания.

2. @Devon Если я не вызываю sleep() функцию, она возвращается на страницу без изменений, но после того, как я добавлю sleep() , ее работа очень хорошая, но требует времени