您现在的位置是:首页 > 编程 > 

Laravel Artisan 常见命令详解

2025-07-27 21:34:48
Laravel Artisan 常见命令详解 Laravel 是一个优秀的 PHP 框架,而 Artisan 是 Laravel 提供的强大命令行工具。通过 Artisan,开发者可以轻松完成许多开发任务,比如生成代码、管理数据库迁移、运行队列等。本文将带你深入了解 Artisan 的原理和常见命令,帮助你高效地使用这个工具。什么是 Artisan?Artisan 是 Laravel 自带的命令行

Laravel Artisan 常见命令详解

Laravel 是一个优秀的 PHP 框架,而 Artisan 是 Laravel 提供的强大命令行工具。通过 Artisan,开发者可以轻松完成许多开发任务,比如生成代码、管理数据库迁移、运行队列等。本文将带你深入了解 Artisan 的原理和常见命令,帮助你高效地使用这个工具。

什么是 Artisan?

Artisan 是 Laravel 自带的命令行接口(CLI),它基于 Symfony Cole 组件构建,允许开发者使用简单的命令执行复杂的任务。Artisan 的设计理念是通过命令简化常见的开发操作,减少手工编写代码的重复性。

在 Laravel 项目中,artisan 脚本位于根目录下,你可以通过运行以下命令查看所有可用的 Artisan 命令:

代码语言:bash复制
php artisan list

运行该命令后,你会看到一组分门别类的命令列表,每个命令都附带简短的描述。

Artisan 的工作原理

Artisan 的核心基于 Symfony Cole。它将每个命令视为一个类,并注册到命令调度器中。以下是 Artisan 的基本工作流程:

  1. 解析输入命令:接收用户在终端输入的命令和参数。
  2. 匹配注册命令:根据用户输入的命令名称,匹配对应的命令类。
  3. 执行命令逻辑:调用匹配命令类中的逻辑,完成对应的功能。

每个 Artisan 命令本质上是一个类,它继承自 Illuminate\Cole\Command。通过重写其 handle 方法,可以实现自定义的命令逻辑。

常见的 Artisan 命令

1. 配置和帮助命令

php artisan help

显示指定命令的帮助信息。例如:

代码语言:bash复制
php artisan help make:controller

该命令将显示 make:controller 的使用方法和可选参数。

php artisan list

列出所有可用的 Artisan 命令。

2. 项目基本信息命令

php artisan --version

显示当前 Laravel 框架的版本号。

php artisan env

显示当前应用的环境(例如 localproduction)。

. 路由相关命令

php artisan route:list

显示应用中注册的所有路由信息,包括方法、URI、名称和中间件等。可以使用 --compact 参数以精简格式显示:

代码语言:bash复制
php artisan route:list --compact

还可以过滤结果,例如根据路由方法:

代码语言:bash复制
php artisan route:list --method=GET

4. 数据库相关命令

php artisan migrate

运行数据库迁移文件并更新数据库结构。

可以使用以下选项:

  • --force:在生产环境中强制执行迁移。
  • --path:指定迁移文件路径。
php artisan db:seed

运行数据库种子文件以填充测试数据。可以指定单个 Seeder:

代码语言:bash复制
php artisan db:seed --class=UserSeeder
php artisan migrate:rollback

回滚最近一次执行的迁移:

代码语言:bash复制
php artisan migrate:rollback

可以使用 --step 参数回滚指定步数:

代码语言:bash复制
php artisan migrate:rollback --step=2

5. 文件生成命令

php artisan make:controller

生成新的控制器文件:

代码语言:bash复制
php artisan make:controller UserController

常用选项:

  • --model:生成控制器并绑定指定模型。
  • --resource:生成资源控制器,包含 RESTful 方法。
php artisan make:model

生成新的模型文件:

代码语言:bash复制
php artisan make:model User

常用选项:

  • -m:同时生成迁移文件。
  • -c:同时生成控制器文件。
  • -f:同时生成工厂文件。
php artisan make:migration

创建迁移文件:

代码语言:bash复制
php artisan make:migration create_users_table

还可以指定表名:

代码语言:bash复制
php artisan make:migration add_email_to_users_table --table=users

6. 调试和测试命令

php artisan tinker

启动交互式命令行工具 Tinker,允许你测试代码片段或执行数据库查询:

代码语言:bash复制
php artisan tinker

在 Tinker 中,你可以运行 Eloquent 查询:

代码语言:php复制
App\Models\User::all();
php artisan test

运行 PHPUnit 测试:

代码语言:bash复制
php artisan test

可以指定单个测试文件:

代码语言:bash复制
php artisan test --filter=UserTest

7. 缓存管理命令

php artisan cache:clear

清除应用缓存:

代码语言:bash复制
php artisan cache:clear
php artisan config:cache

生成配置文件缓存,提高性能:

代码语言:bash复制
php artisan config:cache

生成后若配置文件有更改,需要先清除缓存再重新生成:

代码语言:bash复制
php artisan config:clear
php artisan config:cache
php artisan route:cache

生成路由缓存:

代码语言:bash复制
php artisan route:cache

同样,修改路由后需清除缓存再重新生成:

代码语言:bash复制
php artisan route:clear
php artisan route:cache
自定义 Artisan 命令

如果默认的命令无法满足需求,可以通过 Artisan 创建自定义命令。

创建自定义命令

使用以下命令创建自定义命令类:

代码语言:bash复制
php artisan make:command MyCustomCommand

这会在 app/Cole/Commands 目录下生成一个命令类文件。打开生成的类,你会看到以下结构:

代码语言:php复制
namespace App\Cole\Commands;

use Illuminate\Cole\Command;

class MyCustomCommand extends Command
{
    protected $signature = 'command:name';
    protected $description = 'Command description';

    public function __ctruct()
    {
        parent::__ctruct();
    }

    public function handle()
    {
        // 命令逻辑
    }
}

注册自定义命令

将命令类注册到 app/Cole/Kernel.php 文件的 $commands 属性中:

代码语言:php复制
protected $commands = [
    \App\Cole\Commands\MyCustomCommand::class,
];

执行自定义命令

在终端运行:

代码语言:bash复制
php artisan command:name
小结

Laravel 的 Artisan 工具为开发者提供了强大的功能,从项目管理到代码生成再到数据库操作,几乎覆盖了开发过程中的方方面面。通过熟练掌握常用命令和自定义命令,你可以大幅提升开发效率。希望本文能够帮助你更好地理解和使用 Artisan!

#感谢您对电脑配置推荐网 - 最新i3 i5 i7组装电脑配置单推荐报价格的认可,转载请说明来源于"电脑配置推荐网 - 最新i3 i5 i7组装电脑配置单推荐报价格

本文地址:http://www.dnpztj.cn/biancheng/1177848.html

相关标签:无
上传时间: 2025-07-21 20:45:32
留言与评论(共有 19 条评论)
本站网友 重庆肛肠医院
11分钟前 发表
匹配注册命令:根据用户输入的命令名称
本站网友 黄金专家
14分钟前 发表
什么是 Artisan?Artisan 是 Laravel 自带的命令行接口(CLI)
本站网友 我不是女生
3分钟前 发表
以下是 Artisan 的基本工作流程:解析输入命令:接收用户在终端输入的命令和参数
本站网友 关婷娜的胸
19分钟前 发表
每个 Artisan 命令本质上是一个类
本站网友 京溪租房
1分钟前 发表
它将每个命令视为一个类
本站网友 救助基金
25分钟前 发表
可以使用以下选项:--force:在生产环境中强制执行迁移
本站网友 风一更雪一更
17分钟前 发表
];执行自定义命令在终端运行:代码语言:bash复制php artisan command
本站网友 海德公园图片
24分钟前 发表
在 Laravel 项目中
本站网友 客车起火
13分钟前 发表
你可以通过运行以下命令查看所有可用的 Artisan 命令:代码语言:bash复制php artisan list运行该命令后
本站网友 又又酱
11分钟前 发表
创建自定义命令使用以下命令创建自定义命令类:代码语言:bash复制php artisan make
本站网友 定时提醒软件
16分钟前 发表
管理数据库迁移
本站网友 上海东方城市花园
20分钟前 发表
常见的 Artisan 命令1. 配置和帮助命令php artisan help显示指定命令的帮助信息
本站网友 广州羽毛球
16分钟前 发表
创建自定义命令使用以下命令创建自定义命令类:代码语言:bash复制php artisan make
本站网友 规费
29分钟前 发表
并注册到命令调度器中
本站网友 洗浴中心按摩小姐
22分钟前 发表
controller该命令将显示 make
本站网友 抗疫建设者
3分钟前 发表
rollback回滚最近一次执行的迁移:代码语言:bash复制php artisan migrate
本站网友 华京购物网
27分钟前 发表
每个 Artisan 命令本质上是一个类
本站网友 微信公众平台客户端
8分钟前 发表
修改路由后需清除缓存再重新生成:代码语言:bash复制php artisan route