a2workspace / laravel-stubs
一个基于项目的类别模板注入器。
1.1.0
2022-09-04 01:25 UTC
Requires
- php: ^7.4|^8.0
Requires (Dev)
- orchestra/testbench: 6.x
README
一个基于项目的程序模板注入器。
通过在项目中的 resources/stubs
目录下放置类别的模板文件,然后通过命令快速注入并生成。相比原生的 artisan make:*
命令可以大大减少编写时间,且模板文件可以随版控被 git 记录。
目前支持的类别类型:
- 以 App\* 开头的命名空间类别
- 以 Tests\* 开头的命名空间类别
- 以 Database\* 开头的命名空间类别
安装 | 安装
执行以下命令通过 composer 引入到您的 Laravel 项目中
composer require a2workspace/laravel-stubs
然后使用 vendor:publish
命令生成配置文件与 resources/stubs
文件夹
php artisan vendor:publish --tag=@a2workspace/laravel-stubs
默认的 resources/stubs
文件夹内附带一个简单的示例。
使用 | 如何使用
现在您可以使用 make:a...
Artisan 命令 来生成类别。该命令将读取 resources/stubs
下的目录或 .php
文件,将占位符根据格式替换为给定的名称,并按照类别名称自动生成文件到相应的路径。
php artisan make:a...
可以传递一个搜索参数
php artisan make:a... Example
开发 | 如何编写自己的类别模板
类别模板 默认存放在 resources/stubs
目录下,支持单个 .php
文件或整个目录包。文件名不会影响注入过程,laravel-stubs
将以最终处理完的 namespace
作为依据,将生成的文件放置到项目的相对路径。
您可以创建一个 类别模板 并通过 Dummy
占位符填充类别名称。
一个简单的 Model
模板如下
<?php namespace App\Models; use Illuminate\Database\Eloquent\Model; class Dummy extends Model { protected $table = 'dummies'; }
在生成时 laravel-stubs
将会按照以下规则替换
Dummy
: 替换为开头大写格式的注入名称Dummies
: 替换为复数形式,开头大写格式的注入名称dummy
: 替换为小写格式的注入名称dummies
: 替换为复数形式,小写格式的注入名称
处理的原始代码可参考 StubGeneratorCommand::replaceClass()。
详细信息可参考 resources/stubs
下默认的模板。