Laravel Artisan

Laravel Artisan

感谢以下网站提供的帮助

Laravel China
https://laravel.com/
Laravel 5.5 中文文档
Laravel 5.4 文档
Laravel 5.1 LTS 速查表
Laravel 5.5 中文文档
Google 翻译

laravel 版本:5.5.27

artisan 使用方法:

php artisan command [options] [arguments]
// php artisan 『执行命令』『可选参数』『必须参数』

全局可选参数 options

命令快捷方式注释用法
–help-h显示帮助信息当忘记或者不明白一个命令的时候可以用这个 -h 提供帮助
–quiet-q不输出消息
–version-V查看当前项目 laravel 的版本号注意点是大写 V
–ansi使用 ANSI码 输出
–no-ansi不使用 ANSI码 输出
–no-interaction-n不要问任何互动问题
–env[=ENV]使命令在指定 env 文件配置下运行当使用 --env=testing 那么命令将读取 .env.testing 文件中的配置,指定的文件不存在,还是使用 .env
–verbose-v|vv|vvv增加消息的详细程度:1表示正常输出,2表示更详细的输出,3表示调试输出

可使用的命令

命令参数可选参数注释用法
clear-compiled删除编译优化的类文件命令删除了 bootstrap/cache 文件夹下的 packages.phpservices.php
optimize(已弃用)* --force:强制重新生成编译类文件

* -psr:不对 Composerdump-autoload 进行优化

优化框架以获得更好的性能 弃用原因命令生成了 bootstrap/cache 文件夹下的 packages.phpservices.php
down* --message[=MESSAGE]:异常的信息 $e->getMessage()

* --retry[=RETRY]:在响应的 HTTP Header 中加入 Retry-After

让网站进入维护模式执行命令后,会在 storage/framework/ 文件夹下生成一个 down 文件,Kernel 中的全局中间件 CheckForMaintenanceMode 就是检查是否存在 down,存在则抛出 503 当网站升级或者维护的时候可以执行该命令
up让网站退出维护模式删除 down 文件 当网站升级或者维护的结束时候可以执行该命令
env显示当前项目运行环境
help* --format=FORMAT:输出格式参数有:txt(默认),xml,json,md

* --raw:输出原始命令帮助

查看帮助文档
inspire显示一条名人名言这个是命令中的一条教程例子,该命令展示了如何自定义命令
list namespace:命名空间* --format=FORMAT:输出格式参数有:txt(默认),xml,json,md

* --raw:输出原始命令帮助

列出所有命令可以显示特定命名空间的命令:php artisan list test
migrate* --database[=DATABASE]:指定数据库链接

* --force:如果是在 production 环境中,也强制执行命令

* --path[=PATH]:执行指定路径中的迁移文件 --path=app/foo/migrations

* --pretend:打印将要运行的 SQL 语句

* --seed:运行 db:seed --force 填充数据库

* --step:限制回滚迁移的个数,比如回滚最近五次迁移:rollback --step=5

运行数据库迁移
preset type:参数 nonebootstrapvuereact替换前端框架
serve* --host[=HOST]:地址

* --port[=PORT]:指定端口号(默认:8000)

使用 PHP 内置服务器
tinker include:运行该命令所包含文件进入应用交互模式
app:name name:命名空间设置 app文件夹下 命名空间
auth:clear-resets nameconfig/auth.phppasswords 的配置 key删除过期的 密码重置token
cache:clear store:清除指定环境中缓存,config/cache.phpstores 的配置 key清除所有缓存
cache:forget key:缓存 key

store:存储环境

缓存项
cache:table创建缓存数据库表的迁移文件
config:cache把所有的 config 配置文件合并为一个文件,存储在 bootstrap/cache/config.php,提高加载速度
config:clear删除 bootstrap/cache/config.php 缓存文件
db:seed* --class[=CLASS]:指定 Seeder 执行,默认:DatabaseSeeder

* --database[=DATABASE]:指定数据库链接

* --force:如果是在 production 环境中,也强制执行命令

填充数据库
event:generate根据注册生成事件和侦听器将监听器和事件添加到 EventServiceProvider 中,再使用 event:generate 命令会生成在 EventServiceProvider 中列出的所有事件和监听器分别在 app/Eventsapp/Listeners 文件夹下
key:generate* --show:只显示新生成的密钥不修改 .env

* --force:如果是在 production 环境中,也强制执行命令

设置 .env 文件中的 APP_KEY
make:auth* --views:只生成模板文件

* --force:重新生成模板文件

make:command name:命令名* --command[=COMMAND]:命令被调用的名称创建一个新的Artisan命令
make:controller name:controller 类名* -m, --model[=MODEL]:生成指定 model 的资源控制器

* -r, --resource:生成资源控制器

* -p, --parent[=PARENT]:指定继承的controller

创建一个新的控制器类
make:event name:类名创建一个新的事件类
make:exception name:类名* --render:文件中创建 render 方法

* --report:文件中创建 report 方法

创建一个新的自定义异常类 render 方法是用来走内部逻辑用的,比如记录报错日志,发送错误报告render 方法是用来返回错误展示给用户的
make:factory name:类名* -m, --model[=MODEL]:指定模型创建一个新的模型工厂使用方法可以看 大批量假数据填充的正确方法
make:job name:类名* --sync:同步执行的任务
make:listener name:类名* -e, --event[=EVENT]:指定监听的 event

* --queued:可以让事件丢给队列处理

创建一个新的事件侦听器类
make:mail name:类名* -f, --force:强制重新生成

* -m, --markdown[=MARKDOWN]:创建 Markdown 模板

创建一个新的电子邮件类make:mail OrderShipped -m emails.orders.shipped
make:middleware name:类名创建一个新的中间件类
make:migration name:类名* --create[=CREATE]:指定该文件执行的是创建表,而不是其他操作

* --table[=TABLE]:指定表名

* --path[=PATH]:迁移文件存储位置

创建一个新的迁移文件
make:model name:类名* -a, -all:为模型生成 migrationfactory 和资源控制器

* -c, --controller:为模型生成控制器

* -f, -factory:为模型生成 factory

* --force:强制重新生成

* -m, --migration:为模型生成 migration

* -p, --pivot:为模型生成 pivot

* -r, --resource:为模型生成资源控制器

创建一个新的模型
make:notification name:类名* -f, --force:强制重新生成

* -m, --markdown[=MARKDOWN]:创建 Markdown 模板

创建一个新的通知类make:notification InvoicePaid -m mail.invoice.paid
make:policy name:类名* -m, --model[=MODEL]:指定模型创建一个新的策略类
make:provider name:类名创建一个新的服务提供类
make:request name:类名创建一个新的表单请求类
make:resource name:类名* -c, --collection创建一个新的资源你需要在生成资源时添加 –collection 标志以生成一个资源集合你也可以直接在资源的名称中包含 Collection 向 Laravel 表示应该生成一个资源集合,以下命令相同效果

php artisan make:resource Users --collection php artisan make:resource UserCollection

make:rule name:类名创建一个新的验证规则类
make:seeder name:类名创建一个新的 seeder
make:test name:类名* --unit:创建一个单元测试创建一个新的测试类
migrate:fresh* --database[=DATABASE]:指定数据库链接

* --force:如果是在 production 环境中,也强制执行命令

* --path[=PATH]:执行指定路径中的迁移文件

* --seed:运行 db:seed –force 填充数据库

* --seeder[=SEEDER]:运行指定 seeder

删除所有表并重新运行所有迁移Laravel 迁移新命令:Fresh
migrate:refresh* --database[=DATABASE]:指定数据库链接

* --force:如果是在 production 环境中,也强制执行命令

* --path[=PATH]:执行指定路径中的迁移文件

* --seed:运行 db:seed –force 填充数据库

* --seeder[=SEEDER]:运行指定 seeder

* --step[=STEP]:限制回滚迁移的个数

重置并重新运行所有的 migrations刷新数据库结构并执行数据填充:

php artisan migrate:refresh --seed

回滚并再迁移最后的 5 个迁移:

php artisan migrate:refresh --step=5

migrate:install* --database[=DATABASE]:指定数据库链接创建数据库
migrate:reset* --database[=DATABASE]:指定数据库链接

* --force:如果是在 production 环境中,也强制执行命令

* --path[=PATH]:执行指定路径中的迁移文件

* --pretend:打印将要运行的 SQL 语句

回滚所有数据库迁移
migrate:rollback* --database[=DATABASE]:指定数据库链接

* --force:如果是在 production 环境中,也强制执行命令

* --path[=PATH]:执行指定路径中的迁移文件

* --pretend:打印将要运行的 SQL 语句

* --step[=STEP]:限制回滚迁移的个数

回滚最后一个数据库迁移
migrate:status* --database[DATABASE]:指定数据库链接

* --path[=PATH]:执行指定路径中的迁移文件

显示每个迁移的状态
notifications:table创建通知表的迁移文件
package:discover重新构建缓存的包清单Laravel 5.5 支持包自动发现
queue:failed列出所有失败的队列任务
queue:failed-table创建失败队列任务数据库表的迁移文件
queue:flush删除所有失败的任务
queue:forget id:失败任务 id删除指定失败的队列任务php artisan queue:forget 5
queue:listen connectionconfig/queue.php 中的 connections 配置项* --delay[=DELAY]:给执行失败的任务设置延时时间 (默认为零: 0)

* --force:网站处于维护中,也继续执行

* --memory[=MEMORY]:内存限制大小,单位为 MB (默认为: 128)

* --queue[=QUEUE]:监听指定队列

* --sleep[=SLEEP]:等待检查队列任务的秒数 (默认为: 3)

* --timeout[=TIMEOUT]:指定任务运行超时秒数 (默认为: 60)

* --tries[=TRIES]:任务记录失败重试次数 (默认为: 0)

监听指定的队列使用 Laravel Queue 不得不明白的知识
queue:restart在当前任务完成后重新启动队列守护进程
queue:retry id:失败任务 id重试失败的队列任务重试一个 ID5 的失败任务:

php artisan queue:retry 5 重试所有失败的任务:

php artisan queue:retry all

queue:table创建队列任务数据库表的迁移文件
queue:work connectionconfig/queue.php 中的 connections 配置项* --queue[=QUEUE]:被监听的队列

* --daemon:以守护进程模式运行worker(已弃用)

* --once:只处理队列中的一个任务

* --delay[=DELAY]:给执行失败的任务设置延时时间 (默认为零: 0)

* --force:网站处于维护中,也继续执行

* --memory[=MEMORY]:内存限制大小,单位为 MB (默认为: 128)

* --sleep[=SLEEP]:当没有任务处于有效状态时, 设置其进入休眠的秒数 (默认为: 3)

* --timeout[=TIMEOUT]:指定任务运行超时秒数 (默认为: 60)

* --tries[=TRIES]:任务记录失败重试次数 (默认为: 0)

作为守护进程开始处理队列上的任务使用 Laravel Queue 不得不明白的知识
route:cache生成路由缓存文件来提升路由效率
route:clear删除路由缓存文件
route:list* --method[=METHOD]:显示指定方法对应的路由

* --name[=NAME]:显示指定路由名对应的路由

* --path[=PATH]:显示指定 URI 对应的路由

* -r, --reverse:反向显示路由

* --sort[=SORT]:排序输出:host, method, uri, name, action, middleware [默认: “uri”]

显示所有路由
schedule:run运行计划命令
session:table创建 session 数据库表的迁移文件
storage:link创建一个从 public/storagestorage/app/public 的软链接
vendor:publish* --force:重写已存在文件

* --all:发布所有资源文件

* --provider[=PROVIDER]:指定你想要发布资源文件的服务提供者

* --tag[=TAG]:指定你想要发布标记资源

vendor 的扩展包中发布任何可发布的资源
view:clear清除所有已编译缓存的模板文件
    原文作者:xiaobing1024
    原文地址: https://www.jianshu.com/p/dde5d15c7c13
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞