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.php 和 services.php
|
||
optimize(已弃用) | * --force :强制重新生成编译类文件* -psr :不对 Composer 的 dump-autoload 进行优化 |
优化框架以获得更好的性能 弃用原因 | 命令生成了 bootstrap/cache 文件夹下的 packages.php 和 services.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 :参数 none ,bootstrap ,vue ,react
|
替换前端框架 | ||
serve | * --host[=HOST] :地址* --port[=PORT] :指定端口号(默认:8000) |
使用 PHP 内置服务器 |
||
tinker |
include :运行该命令所包含文件 |
进入应用交互模式 | ||
app:name |
name :命名空间 |
设置 app文件夹下 命名空间 |
||
auth:clear-resets |
name :config/auth.php 中 passwords 的配置 key
|
删除过期的 密码重置token
|
||
cache:clear |
store :清除指定环境中缓存,config/cache.php 中 stores 的配置 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/Events 和 app/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 :为模型生成 migration ,factory 和资源控制器* -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 |
connection :config/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
|
重试失败的队列任务 | 重试一个 ID 为 5 的失败任务:php artisan queue:retry 5 重试所有失败的任务:php artisan queue:retry all
|
|
queue:table | 创建队列任务数据库表的迁移文件 | |||
queue:work |
connection :config/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/storage 到 storage/app/public 的软链接 |
|||
vendor:publish | * --force :重写已存在文件* --all :发布所有资源文件* --provider[=PROVIDER] :指定你想要发布资源文件的服务提供者* --tag[=TAG] :指定你想要发布标记资源 |
从 vendor 的扩展包中发布任何可发布的资源 |
||
view:clear | 清除所有已编译缓存的模板文件 |
网友评论