任务

目录

基础介绍

laravel的命令行工具被称为Artisan. Artisan可以用于运行, 如迁移, 守护作业(cronjobs), 单元测试, 或任何想要执行的"任务".

创建/运行任务

要创建一个任务, 先要在application/tasks目录中创建新的类. 用"_Task"作为类的名称后缀, 至少应该有一个"run"方法, 像这样:

创建一个任务类:

class Notify_Task {

    public function run($arguments)
    {
        // Do awesome notifying...
    }

}

现在你可以通过命令行调用run方法. 你甚至可以传递参数:

命令行调用任务:

php artisan notify

调用任务和传递参数:

php artisan notify taylor

请记住, 你可以调用你的任务的具体方法, 所以, 让我们添加一个"urgent"的方法来调用任务:

添加一个方法到任务:

class Notify_Task {

    public function run($arguments)
    {
        // Do awesome notifying...
    }

    public function urgent($arguments)
    {
        // This is urgent!
    }

}

现在, 调用"urgent"方法:

调用任务的具体方法:

php artisan notify:urgent

Bundle的任务

要为bundle创建一个任务, 只要把你的bundle名称作为类名的前缀. 所以, 如果你的bundle的名称为"admin", 一个任务可能看起来像这样:

创建一个属于bundle的任务类:

class Admin_Generate_Task {

    public function run($arguments)
    {
        // Generate the admin!
    }

}

要运行你的任务请使用普通的Laravel双冒号语法来表示bundle:

运行一个属于bundle的任务类:

php artisan admin::generate

运行一个属于bundle的任务的具体方法:

php artisan admin::generate:list

命令行选项

设置Laravel环境:

php artisan foo --env=local

设置默认的数据库连接:

php artisan foo --database=sqlite