laravel5.4之artisan使用总结一

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了laravel5.4之artisan使用总结一相关的知识,希望对你有一定的参考价值。

Artisan是laravel自带的命令行接口:

php artisan list

编写命令

生成命令:

  • 可以使用Artisan命令,
php artisan make:command ConsoleTest

执行完这个命令后,会在app/Console/Commands 目录下创建ConsoleTest命令类。会包含默认的属性设置以及所有命令都共有的方法。

  • 需要在ConsoleTest填写这个类的signature和description属性。其中的handle方法会在命令执行时被调用。将所有命令逻辑都放在这个方法里面。
  • 在编写好命令后需要在该命令可以通过Artisan CLI执行之前 注册这个命令。

如下填写这个类的signature和description属性:

<?php

namespace App\Console\Commands;

use App\Http\Controllers\SettlementController;
use Illuminate\Console\Command;

class ConsoleTest extends Command
{
    /**
     * The name and signature of the console command.
     *
     * @var string
     */
    protected $signature = ‘console:test‘;

    /**
     * The console command description.
     *
     * @var string
     */
    protected $description = ‘Command description‘;

    /**
     * Create a new command instance.
     *
     * @return void
     */
    public function __construct()
    {
        parent::__construct();
    }

    /**
     * Execute the console command.
     *
     * @return mixed
     */
    public function handle()
    {
       //TODO 需要的一些逻辑

    }
}

 

闭包命令:

在app/Console/Kernel.php文件的comands方法中,Laravel加载了routes/console.php文件。

<?php

namespace App\Console;

use Illuminate\Console\Scheduling\Schedule;
use Illuminate\Foundation\Console\Kernel as ConsoleKernel;

class Kernel extends ConsoleKernel
{   /**
     * Register the Closure based commands for the application.
     *
     * @return void
     */
    protected function commands()
    {
        require base_path(‘routes/console.php‘);
    }
}

注册命令:

  • 在命令编写后,需要注册到Artisan才可以使用,需要在app/Console/Kernel.php 文件中完成。
  • 在这个文件中的commands属性中,在里面注册命令,只需要将上面ConsoleTest所在路径写上,如下:
/**
     * The Artisan commands provided by your application.
     *
     * @var array
     */
    protected $commands = [
        ‘App\Console\Commands\ConsoleTest‘
    ];

 

  • 最后在终端里cd到项目根目录下,执行如下命令
php artisan console:test

会去执行上面ConsoleTest 中的handle()方法。

 

以上是关于laravel5.4之artisan使用总结一的主要内容,如果未能解决你的问题,请参考以下文章

Laravel 5.4 artisan 为 /public 的现有文件夹提供 htaccess / 和 Routes::get

关于laravel5 消息订阅/发布的理解初

laravel5.4之查询构建器获取结果集总结一

拉拉维尔 5.4。调用错误:php artisan db:seed

玩转laravel5.4的入门动作

使用 Docker 运行 Laravel artisan 命令时连接被拒绝