Laravel 的命令行工具很強,可以執行非常豐富的功能,遇到一個需求是在 Shell 中調用 Laravel,并推送一條信息給零信,但是 Commands 里面并沒有好的方法可以調用一個 HTTP 的 Laravel 請求,在網上有人提供了一個不錯的思路:
通過命令調用路由的命令
首先創建一個叫做 route:call 的命令:
php artisan make:command RouteCall --command=route:call
但是在 php artisan list 還看不到,需要添加到 app/Console/Kernel.php 里面
protected $commands = [
Commands\RouteCall::class
];
在 RouteCall 中設定執行代碼:
public function handle()
{
Leanchat::send($this->argument('text'));
}
因為整個解決方案被推翻,所以會等以后再出現命令行需求的時候,來更新這篇文檔
查看命令行支持的參數
./artisan make:controller --help