Home > Backend Development > PHP Tutorial > 每天laravel-20160712|Schedule

每天laravel-20160712|Schedule

WBOY
Release: 2016-06-23 13:10:14
Original
932 people have browsed it

<?phpnamespace Illuminate\Console\Scheduling;use Symfony\Component\Process\ProcessUtils;use Symfony\Component\Process\PhpExecutableFinder;// use namespace.class Schedule{    /**     * All of the events on the schedule.     *     * @var array     */    protected $events = [];// events schedule array set to store the events   // by the way, all of this is function or instance of class    /**     * Add a new callback event to the schedule.     *     * @param  string  $callback     * @param  array   $parameters     * @return \Illuminate\Console\Scheduling\Event     */    public function call($callback, array $parameters = [])    {        $this->events[] = $event = new CallbackEvent($callback, $parameters);        return $event;    }// get a instance about the event function ,and add it to the events array.    /**     * Add a new Artisan command event to the schedule.     *     * @param  string  $command     * @param  array  $parameters     * @return \Illuminate\Console\Scheduling\Event     */    public function command($command, array $parameters = [])    {        $binary = ProcessUtils::escapeArgument((new PhpExecutableFinder)->find(false));       // change argument        if (defined('HHVM_VERSION')) {            $binary .= ' --php';        }        if (defined('ARTISAN_BINARY')) {            $artisan = ProcessUtils::escapeArgument(ARTISAN_BINARY);        } else {            $artisan = 'artisan';        }        return $this->exec("{$binary} {$artisan} {$command}", $parameters);    }// the author said this is a new artisan command   // suport the HHVM ,good    /**     * Add a new command event to the schedule.     *     * @param  string  $command     * @param  array  $parameters     * @return \Illuminate\Console\Scheduling\Event     */    public function exec($command, array $parameters = [])    {        if (count($parameters)) {            $command .= ' '.$this->compileParameters($parameters);        }// prepare the command.        $this->events[] = $event = new Event($command);// add the instance to the compileParameters        return $event;    }// Add a new command event to the schedule    /**     * Compile parameters for a command.     *     * @param  array  $parameters     * @return string     */    protected function compileParameters(array $parameters)    {        return collect($parameters)->map(function ($value, $key) {            return is_numeric($key) ? $value : $key.'='.(is_numeric($value) ? $value : ProcessUtils::escapeArgument($value));        })->implode(' ');    }// compile or change the parameters for you want.    /**     * Get all of the events on the schedule.     *     * @return array     */    public function events()    {        return $this->events;    }// big _get    /**     * Get all of the events on the schedule that are due.     *     * @param  \Illuminate\Contracts\Foundation\Application  $app     * @return array     */    public function dueEvents($app)    {        return array_filter($this->events, function ($event) use ($app) {            return $event->isDue($app);        });    }// a super big _get function   // this can get all the events on the schedule that are due.}// at last ,this is a events schedule, that be set bigset get bigget and change the params
Copy after login


source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template