Laravel 编码技巧 Artisan

2023-02-16 17:10 更新

Artisan 命令参数

创建 Artisan 命令时,您可以各种方式询问输入:$ this-> confirm() (确认),$ this-> perialipate() (预期输入),$ this->choice() (选择)。

// 输入是或者否
if ($this->confirm('Do you wish to continue?')) {
    //
}

// 带有自动填充的开放问题
$name = $this->anticipate('What is your name?', ['Taylor', 'Dayle']);

// 带有默认选中项的选项列表
$name = $this->choice('What is your name?', ['Taylor', 'Dayle'], $defaultIndex);

维护模式

如果你想要在页面上启用维护模式,执行下面的 Artisan 命令:

php artisan down

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

在 Laravel 8 里,你还可以提供的标识:

  • 用户将会重定向的路径地址
  • 预渲染的维护模式视图页面
  • 绕过维护模式的秘钥
  • 维护模式返回的状态码
  • 每 X 秒重新加载页面
php artisan down --redirect="/" --render="errors::503" --secret="1630542a-246b-4b66-afa1-dd72a4c43515" --status=200 --retry=60

在 Laravel 8 之前有:

  • 维护模式显示的消息
  • 每 X 秒重新加载页面
  • 允许访问的 IP 地址
php artisan down --message="Upgrading Database" --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 。

从任意处使用 Artisan 命令

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

Route::get('/foo', function () {
    $exitCode = Artisan::call('email:send', [
        'user' => 1, '--queue' => 'default'
    ]);

    //
});


以上内容是否对您有帮助:
在线笔记
App下载
App下载

扫描二维码

下载编程狮App

公众号
微信公众号

编程狮公众号