2015-10-22 1 views
0
$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')); 

Error: Argument 1 passed to Illuminate\Console\Scheduling\Event::after() must be an instance of Closure, string given, ...-> after() on Laravel artisan Расписание Команда с закрытием - это строка?

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

ответ

0

Оказалось, что я использую лямбду, а не анонимную функцию (это ВБЛИЗИ то же самое, но все же нет).

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

WAS/Lambda:

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

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

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

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