Laravel Artisan

作者: 3275508ab630 | 来源:发表于2018-01-07 12:24 被阅读237次

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 清除所有已编译缓存的模板文件

相关文章

网友评论

本文标题:Laravel Artisan

本文链接:https://www.haomeiwen.com/subject/rxupnxtx.html