喜讯!TCMS 官网正式上线!一站式提供企业级定制研发、App 小程序开发、AI 与区块链等全栈软件服务,助力多行业数智转型,欢迎致电:13888011868  QQ 932256355 洽谈合作!

Laravel Artisan 命令大全:从基础到进阶的完整指南

2025-10-22 7分钟阅读时长

artisan 命令覆盖了 Laravel 开发的全流程,熟练使用可大幅提高效率。实际开发中,常用命令(如 make:controller 、 migrate 、 serve 、 tinker )需重点掌握,其他命令可通过 help 随时查询用法。

laravel-artisan
 

artisan 是 Laravel 框架的命令行工具,提供了大量实用命令,用于简化开发流程(如生成代码、数据库操作、服务器运行等)。以下是 Laravel 中常用 artisan 命令的详细说明,按功能分类整理:

一、基础命令

1. 查看所有命令

php artisan list
  • 列出所有可用的 artisan 命令,包括核心命令和自定义命令。

  • 可添加 -v (详细)或按模块筛选(如 php artisan list make 查看 make 相关命令)。

2. 查看命令帮助

php artisan help [命令名]
  • 示例: php artisan help make:controller  

  • 显示指定命令的参数、选项及用法说明。

3. 查看 Laravel 版本

php artisan --version
# 或简写
php artisan -V

二、项目初始化与配置

1. 生成应用密钥

php artisan key:generate
  • 生成 .env 文件中的 APP_KEY (用于加密会话、Cookie 等),新安装项目必须执行。

  • 选项: --show 仅显示密钥不写入文件; --force 强制覆盖现有密钥。

2. 缓存配置

php artisan config:cache
  • 将所有配置文件合并为单个缓存文件( bootstrap/cache/config.php ),提升加载速度。

  • 注意 :配置修改后需重新执行此命令,否则不会生效。

3. 清除配置缓存

php artisan config:clear
  • 删除配置缓存文件,恢复动态加载配置文件。

4. 缓存路由

php artisan route:cache
  • 缓存路由定义(适合生产环境,提升路由解析速度),仅支持 非闭包路由 (路由需定义在控制器中)。

5. 清除路由缓存

php artisan route:clear

三、代码生成( make 系列命令)

用于快速生成控制器、模型、迁移文件等核心组件,避免重复编写基础代码。

1. 生成控制器

php artisan make:controller [控制器名]
  • 示例: php artisan make:controller UserController  

  • 选项:

    • --resource :生成资源控制器(包含 CRUD 方法:index、create、store 等)。

    • --model=ModelName :关联模型(生成带模型参数的方法)。

    • --invokable :生成仅含 __invoke 方法的单动作控制器。

2. 生成模型

php artisan make:model [模型名]
  • 示例: php artisan make:model Post  

  • 选项:

    • --migration -m :同时生成对应的数据表迁移文件。

    • --controller -c :同时生成控制器。

    • --resource -r :生成资源控制器(与 -c 结合使用)。

3. 生成迁移文件

php artisan make:migration [迁移文件名]
  • 迁移文件用于定义数据库表结构,文件名需遵循规范(如 create_users_table )。

  • 示例: php artisan make:migration add_email_verified_at_to_users_table  

  • 选项: --table=表名 指定要修改的表; --create=表名 生成创建新表的迁移。

4. 生成中间件

php artisan make:middleware [中间件名]
  • 示例: php artisan make:middleware CheckAge  

  • 生成的中间件位于 app/Http/Middleware 目录,需手动注册到 app/Http/Kernel.php 中。

5. 生成请求验证类

php artisan make:request [请求类名]
  • 示例: php artisan make:request StoreUserRequest  

  • 用于集中管理表单验证规则,生成在 app/Http/Requests 目录。

6. 其他常用 make 命令

命令说明
make:command生成自定义 Artisan 命令
make:component生成 Blade 组件
make:factory生成模型工厂(用于批量创建测试数据)
make:policy生成权限策略类(配合模型授权)
make:provider生成服务提供者
make:seeder生成数据库填充器(用于初始化测试数据)

四、数据库操作

1. 执行迁移(创建/修改表)

php artisan migrate
  • 运行所有未执行的迁移文件,创建或修改数据库表结构。

  • 选项: --force 强制在生产环境执行(默认禁止)。

2. 回滚迁移

php artisan migrate:rollback
  • 回滚最后一次迁移操作(可通过 --step=N 回滚最近 N 次)。

3. 重置所有迁移

php artisan migrate:reset
  • 回滚所有已执行的迁移(从最新到最早)。

4. 刷新数据库(重置+重新迁移)

php artisan migrate:fresh
  • 先删除所有表(比 reset 更彻底),再重新执行所有迁移,适合开发环境重置数据。

5. 生成填充数据

php artisan db:seed
  • 执行数据库填充器( database/seeders 目录下的类),用于插入测试数据。

  • 选项: --class=SeederName 指定单个填充器执行(如 --class=UserSeeder )。

6. 数据库连接测试

php artisan db:check
  • 检查数据库连接是否正常(Laravel 8+ 支持)。

五、开发辅助

1. 启动内置服务器

php artisan serve
  • 启动 PHP 内置开发服务器,默认地址: http://localhost:8000

  • 选项: --host=域名 自定义主机; --port=端口 自定义端口(如 --port=8080 )。

2. 查看路由列表

php artisan route:list
  • 显示所有注册的路由信息(方法、URI、控制器、中间件等)。

  • 选项: --name=关键词 按路由名筛选; --path=URI 按 URI 筛选。

3. 清除视图缓存

php artisan view:clear
  • 删除编译后的 Blade 视图缓存( storage/framework/views 目录),修改视图后若未生效可执行。

4. 清除日志文件

php artisan log:clear
  • 清空 storage/logs 目录下的日志文件。

5. 模拟 HTTP 请求

php artisan tinker
  • 启动交互式 PHP 终端,可直接执行 Laravel 代码(如模型查询、服务调用等),方便调试。

    • 示例: User::first() 查看第一个用户; App\Models\Post::create(['title' => 'Test'] 创建文章。

六、生产环境相关

1. 优化自动加载

php artisan optimize
  • 生成类映射缓存和路由缓存(相当于同时执行 config:cache route:cache clear-compiled ),提升生产环境性能。

2. 清除所有缓存

php artisan optimize:clear
  • 一键清除配置、路由、视图、编译文件等所有缓存(开发/生产环境通用)。

3. 维护模式

# 开启维护模式(显示 503 页面)
php artisan down

# 关闭维护模式
php artisan up
  • 选项: down --message="维护中..." 自定义提示信息; --retry=60 告诉客户端 60 秒后重试。

七、自定义命令

你可以通过 make:command 创建自己的 Artisan 命令:

  1. 生成命令类: php artisan make:command SendEmails  

  2. app/Console/Commands/SendEmails.php 中定义 signature (命令名和参数)和 handle 方法(执行逻辑)。

  3. 注册命令:在 app/Console/Kernel.php $commands 数组中添加命令类。

  4. 执行自定义命令: php artisan send:emails

总结

artisan 命令覆盖了 Laravel 开发的全流程,熟练使用可大幅提高效率。实际开发中,常用命令(如 make:controller migrate serve tinker )需重点掌握,其他命令可通过 help 随时查询用法。

新闻通讯图片
主图标
新闻通讯

订阅我们的新闻通讯

在下方输入邮箱地址后,点击订阅按钮即可完成订阅,同时代表您同意我们的条款与条件。

启用 Cookie,可让您在本网站获得更流畅的使用体验 Cookie政策