У меня есть конкретная задача в оболочке CakePHP, и она выполняется заданием CRON. Но я хочу, чтобы пользователи могли выполнять его через веб-интерфейс (например, кнопку или что-то в этом роде) всякий раз, когда захочет.Выполнение оболочки с контроллера CakePHP 3.x
Итак, мой вопрос: возможно ли выполнить оболочку с контроллера?
эмулировать в контроллере:
bin/cake MyShell
Я знаю, что это было возможно в предыдущих версиях CakePHP, но я не нашел что-то связанное с этим в новейшей версии. И используйте exec («bin/cake MyShell») кажется действительно грязным для меня.
вам потребуется заданий очереди, нашел этот плагин (может помочь): https://github.com/dereuromark/ cakephp-queue –
yep, вот правильный способ сделать это. В противном случае, если вы хотите выполнить синхронизацию. DONT использует оболочку, но поместите код в бизнес-класс и просто вызовите его прямо из контроллера. – mark
@ka_lin, спасибо, я проверю этот плагин! – Zat42