命令行你应该记住的点-自定义artisan与tinker
如何编写Artisan 命令
学习链接
xueyuanjun.com/post/9684
xueyuanjun.com/post/9688
创建命令类
首先,我们要了解专门有一个系统自带命令 make:command
来创建自定义命令文件:
php artisan make:command WelcomeMessage --command=welcome:message
执行完该命令后,会在 app/Console/Commands
目录下创建一个 WelcomeMessage.php
文件,如果不佳 command 参数,则会自动创建一个 命令名字(根据类名)
注册 命令类
在 app/Console/Kernel.php
,
新创建的命令类 WelcomeMessage
添加到 $commands
完成注册:
protected $commands = [
App\Console\Commands\WelcomeMessage::class
];
查看
php artisan list
就可以看到 welcome:message
命令了。
如何实现高级带有交互的artisan 命令?
主要用到 ask 这个方法 引入交互。
具体在文档中:
xueyuanjun.com/post/9688
laravel 中的 tinker 用过吗?
学习链接
是什么?
这是一种交互式 Shell:获取用户输入并执行它们,然后将结果打印出来返回给用户。
如何用?
php artisan tinker
有什么用处?
可以在 Tinker Shell 中演练测试 Laravel 代码。如,模型服务调用,还可以手动触发队列任务、体验服务和事件
比如模型和服务,你可以使用控制台来创建一个新的模型,将其保存到数据库,然后查询这条记录(如果之前没有运行过 php artisan migrate 命令创建 users 表,先运行 migrate 命令创建):
还记得factory 批量创建测试用户吗?
你也可以使用tinker 来操作。