Laravel Artisan(工匠) 命令使用技巧 Art

「这是我参与11月更文挑战的第10天,活动详情查看:2021最后一次更文挑战

天下武功没有高低之分,只是习武之人有强弱之别。

上一篇介绍了 Laravel Eloquent 关联模型 进阶使用技巧 ,这篇介绍 Laravel Artisan 命令使用技巧。

Artisan 命令

学会用 Artisan 调试项目

Artisan 意为 工匠 手艺人,是非常好用的开发利器。

我们在开发过程中经常要进行各种测试,通过postman请求接口测试是一种思路,但是比较耗时。

我们可以使用 artisan 命令创建测试工具文件

1
bash复制代码php artisan make:command TestPhp

执行上述命令后会在项目中自动生成下述文件(非核心代码已用三个竖着的.省略),
我们可以在 handle() 方法中

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
php复制代码<?php

namespace App\Console\Commands;

use Illuminate\Console\Command;

class TestPhp extends Command
{
//改成自己的名字
protected $signature = 'TestPhp:Tool';

.
.
.

public function handle()
{
//在这里写需要测试的代码
}
}

我们通过下述命令就可以很方便的测试了

1
ruby复制代码php artisan TestPhp:Tool

在代码中使用 Artisan

我们不仅可以在命令行中启动 Artisan 命令,还可以携带参数地在代码中启动它,使用 Artisan::call() 方法即可:

1
2
3
4
5
6
7
css复制代码Route::get('/foo', function () {
$exitCode = Artisan::call('sms:send', [
'user' => 1, '--queue' => 'default'
]);

//
});

Artisan 命令参数

创建 Artisan 命令时,我们可以用以下方式询问输入:$this-> confirm() (确认),$this-> anticipate() (预期输入),$this->choice() (选择)。

1
2
3
4
5
6
7
8
9
10
kotlin复制代码// 输入是或者否
if ($this->confirm('你要继续执行吗?')) {
//
}

// 带有自动填充的开放问题
$name = $this->anticipate('你是谁?', ['小明', '小华']);

// 带有默认选中项的选项列表
$name = $this->choice('你是谁?', ['小明', '小华'], $defaultIndex);

维护模式

如果我们想要在网站上启用维护模式,执行下面的 Artisan 命令:

1
复制代码php artisan down

然后人们会看到默认的 503 页面。

在 Laravel 8 里,我们还可以提供下述标识:

用户将会重定向的路径地址
预渲染的维护模式视图页面
绕过维护模式的秘钥
维护模式返回的状态吗
每 X 秒重新加载页面

1
ini复制代码php artisan down --redirect="/" --render="errors::503" --secret="xxxxxxx-xxx-xxx-xxx-xxxxxxxxx" --status=200 --retry=60

在 Laravel 8 之前有:

维护模式显示的消息
每 X 秒重新加载页面
允许访问的 IP 地址

1
css复制代码php artisan down --message="系统更新中,请稍后访问" --retry=60 --allow=127.0.0.1

当我们完成了维护工作,只需要运行下述命令,网站就可以正常访问了。

1
复制代码php artisan up

Artisan 命令行帮助

要查看 Artisan 命令的相关选项,可以运行 Artisan 命令带上 –help 标识参数,比如 php artisan make:model --help

然后我们就可以看到提示了:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
less复制代码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 版本

1
css复制代码php artisan --version

Last but not least

技术交流群请到 这里来。 或者添加我的微信 wangzhongyang0601 ,一起学习。

感谢大家的点赞、评论、关注,谢谢大佬们的支持,感谢。

本文转载自: 掘金

开发者博客 – 和开发相关的 这里全都有

0%