推荐一个命令行应用开发工具——Laravel Zero
Posted coding01
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了推荐一个命令行应用开发工具——Laravel Zero相关的知识,希望对你有一定的参考价值。
今天在 Laravel News 网站无意间看到「Laravel Zero」,主要被这个 Slogan 吸引住了。
像写 Laravel 代码那样优雅地写 console application;而且比 Laravel 和 Lumen 简单,极易上手。
下面我们开始写个简单的 demo 入手:
创建项目
// 1. 创建 notes 项目脚手架
composer create-project --prefer-dist
laravel-zero/laravel-zero notes
// 重命名
php application app:rename notes
// 创建新的命令
php notes make:command AddCommand
add note
在项目路径下 app/Commands/AddCommand.php,
修改 $signature 值,命令值为:add,一个参数名为:note;
具体参考:https://laravel.com/docs/5.6/artisan#defining-input-expectations修改 $description,描述每个 Command 含义;
最后在 handle() 函数,写入执行 command 的代码
具体代码简单,直接看代码:
<?php
namespace App\Commands;
use Illuminate\Console\Scheduling\Schedule;
use Illuminate\Support\Facades\Storage;
use LaravelZero\Framework\Commands\Command;
class AddCommand extends Command{
/** * The signature of the command. * * @var string */
protected $signature = 'add {note : the note description}';
/** * The description of the command. * * @var string */
protected $description = '增加一条记录';
/** * Execute the console command. * * @return void */
public function handle(): void {
$this->info('增加一条记录');
Storage::append('notes', $this->argument('note'));
$this->notify('Notes', '增加了一条内容');
}
/** * Define the command's schedule. * * @param \Illuminate\Console\Scheduling\Schedule $schedule * * @return void */
public function schedule(Schedule $schedule): void {
// $schedule->command(static::class)->everyMinute();
}
}
利用php notes
命令,可以看到一些常用指令,同时可以看到已经增加了一个 command:
测试一下,看效果:
发送的 note 信息都保存到 storage/notes 文件里:
发钉钉消息
简简单单几条代码,就可以做一个命令行应用,确实好用;
接下来,我们开始加点料。结合之前的钉钉发消息插件 ()。
我的出发点是:当我们在开会时,如果临时有消息和通知,就可以不需要任何钉钉客户端,利用「命令行」把内容推送到工作群里,效果会比较「极客」
以上是关于推荐一个命令行应用开发工具——Laravel Zero的主要内容,如果未能解决你的问题,请参考以下文章