— & gt; after () в Laravel artisan Schedule Команда с закрытием является строкой?

$slackNotify = function() use (&$info) { ... };
$schedule->command('Calc:RPI 1 2015')->cron('0 */2 * 8-12 *')
->withoutOverlapping()->sendOutputTo($this->path . 'rpi.html')
->after($slackNotify('My message here'));

Ошибка: аргумент 1, передаваемый в Illuminate \ Console \ Scheduling \ Event :: after (), должен быть экземпляром Closure, строка задана, …

Почему это думает $slackNotify(...) такое строка?

0

Решение

Оказывается, я использую лямбду, а не анонимную функцию (которая ОКОЛО тоже самое, но все же нет).

->after() Команда ожидает анонимную функцию, поэтому мне просто нужно добавить ее и передать в нее лямбду:

WAS / Lambda:

->after($slackNotify('My Message Here'));

IS / анонимный:

->after(function() use ($slackNotify) {$slackNotify('My Message Here');});

Благодаря rizqi за помощь в объяснении того, что я действительно делал.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]