Artisan 命令
学会用 Artisan 调试项目
Artisan 意为 工匠 手艺人
,是非常好用的开发利器。
我们在开发过程中经常要进行各种测试,通过postman请求接口测试是一种思路,但是比较耗时。
我们可以使用 artisan 命令创建测试工具文件
php artisan make:command TestPhp
执行上述命令后会在项目中自动生成下述文件(非核心代码已用三个竖着的.省略), 我们可以在 handle()
方法中
<?php namespace App\Console\Commands; use Illuminate\Console\Command; class TestPhp extends Command { //改成自己的名字 protected $signature = 'TestPhp:Tool'; . . . public function handle() { //在这里写需要测试的代码 } }
我们通过下述命令就可以很方便的测试了
php artisan TestPhp:Tool
在代码中使用 Artisan
我们不仅可以在命令行中启动 Artisan 命令,还可以携带参数地在代码中启动它,使用 Artisan::call() 方法即可:
Route::get('/foo', function () { $exitCode = Artisan::call('sms:send', [ 'user' => 1, '--queue' => 'default' ]); // });
Artisan 命令参数
创建 Artisan 命令时,我们可以用以下方式询问输入:$this-> confirm()
(确认),$this-> anticipate()
(预期输入),$this->choice()
(选择)。
// 输入是或者否 if ($this->confirm('你要继续执行吗?')) { // } // 带有自动填充的开放问题 $name = $this->anticipate('你是谁?', ['小明', '小华']); // 带有默认选中项的选项列表 $name = $this->choice('你是谁?', ['小明', '小华'], $defaultIndex);
维护模式
如果我们想要在网站上启用维护模式,执行下面的 Artisan 命令:
php artisan down
然后人们会看到默认的 503 页面。
在 Laravel 8 里,我们还可以提供下述标识:
用户将会重定向的路径地址 预渲染的维护模式视图页面 绕过维护模式的秘钥 维护模式返回的状态吗 每 X 秒重新加载页面
php artisan down --redirect="/" --render="errors::503" --secret="xxxxxxx-xxx-xxx-xxx-xxxxxxxxx" --status=200 --retry=60
在 Laravel 8 之前有:
维护模式显示的消息 每 X 秒重新加载页面 允许访问的 IP 地址
php artisan down --message="系统更新中,请稍后访问" --retry=60 --allow=127.0.0.1
当我们完成了维护工作,只需要运行下述命令,网站就可以正常访问了。
php artisan up
Artisan 命令行帮助
要查看 Artisan 命令的相关选项,可以运行 Artisan 命令带上 --help 标识参数,比如 php artisan make:model --help
然后我们就可以看到提示了:
Options: -a, --all 为模型生成迁移类,填充类,工厂类和资源类 -c, --controller 为模型创建一个新的控制器 -f, --factory 为模型创建一个新的工厂类 --force 当模型已存在的时候强制创建类 -m, --migration 为模型创建一个新的迁移类 -s, --seed 为模型创建一个新的填充文件 -p, --pivot 用来标识生成的模型是否是自定义中间表模型 -r, --resource 用来标识生成的控制器是否是资源控制器 --api 用来标识生成的控制器是否是API控制器 -h, --help 显示帮助信息 -q, --quiet 不输出任何信息 -V, --version 显示应用版本 --ansi 使用ANSI输出 --no-ansi 禁用ANSI输出 -n, --no-interaction 不询问任何交互式问题 --env[=ENV] 该命令运行的配置环境 -v|vv|vvv, --verbose 显示更详细的消息,-v表示正常输出,-vv表示更详细的输出,-vvv表示增加显示调试信息
查看 Laravel 的版本
通过以下命令行,可以查看并确认我们的应用所使用 Lavavel 版本
php artisan --version