shipu / laratie
Laravel 包模板
v1.9.0
2022-08-21 18:47 UTC
Requires
- laravel/helpers: ^1.1
README
Laravel 包开发模板。
功能
- 秒内创建包结构
- 使用命令行添加包资源
- 轻松定义自定义包结构
- 添加自定义占位符功能
- 支持 Spatie Laravel 包工具 (了解更多)
- 支持 Filament 插件开发 (了解更多)
安装
进入终端并运行此命令
composer require shipu/laratie
等待几分钟。Composer 将自动为您项目安装此包。
对于 Laravel
在 Laravel 5.5 以下版本中,打开 config/app
并在 providers
部分添加以下行
Shipu\Tie\LaravelTieServiceProvider::class,
现在在您的终端中运行此命令以发布此包资源
php artisan vendor:publish --tag=tie-config
快速使用
进入终端并运行此命令,用您的用户名替换 vendor
,用您的包名替换 package_name
php artisan package:create vendor package_name or php artisan package:create vendor/package_name or php artisan package:create
然后运行 composer dump-autoload
;
包资源
如果您想创建自己的包资源,请运行以下命令
php artisan package:file vendor/package --stubkey=fileName or php artisan p:f vendor/package --stubkey=fileName
假设您想为您的包创建一个控制器
php artisan package:file vendor/package --controller=TestController
可用的 stubKey
--controller
--command
--events
--facades
--config
--migration
--job
--provider
--routes
--middleware
--class
--exceptions
--key
如果您有您自己的自定义 stubKey
,则可以使用 --key
来创建包资源,值将是您的 stubKey。
包根目录
如果您需要更改所有包的根目录,请打开 config/tie.php
并更新 root
目录路径。
'root' => base_path('packages'), // Base directory
包所有者
打开 config/tie.php
以设置您的供应商名称和 rootNamespace。这不是必需的。
'vendor' => '', // Your github username. For Example 'vendor' => 'shipu'
'rootNamespace' => '', // Root Namespace For Example: 'rootNamespace' => 'Shipu'
包结构
打开 config/tie.php
以设置您自己的包结构。可用的配置
<?php
return [
...
'stubs' => [
...
'structure' => [
'stubKey' => [
'namespace' => 'Namespace',
'case' => 'choose one from [lower, upper, snake, title, camel, kebab, studly']' // default studly
'path' => 'your_path/folderName',
'suffix' => 'FileNameSuffix',
'prefix' => 'PrefixFileName',
'extension' => 'file extension. dot php as default file extension'
'files' => [
// default file here
'default.extension',
'default.php',
'default.ini',
'default.jpg',
'PACKAGE_NAME.php'
]
],
// or
'stubKey' => 'your_path/folderName'
]
...
]
...
];
包占位符配置
打开 config/tie.php
<?php
return [
...
'stubs' => [
'path' => [
// adding more stub path for customize stub or new stub
base_path('vendor/shipu/laravel-tie/src/Consoles/stubs'),
],
'default' => [
// default folder structure with stub key
'composer',
'src',
'config',
//'provider', // laravel service provider
//'filament-plugin-provider', // please uncomment if you need filament plugin service provider
'spatie-provider', // spatie service provider. comment if you using filament plugin provider
'tests',
],
'root' => 'stubKey', // folder path which is concating with vendor/package on composer.json
...
]
...
];
字符串替换
要在占位符模板中替换一个字符串到另一个字符串。打开 config/tie.php
return [
...
'stubs' => [
...
'replace' => [
// ADD YOUR REPLACEMENT STRING. For Example:
'REPLACEMENT_KEY' => 'Replacement String',
'VENDOR_NAME_LOWER' => 'shipu',
'VENDOR_NAME' => 'Shipu',
],
...
]
...
];
鸣谢
安全漏洞
如果您在 LaraTie 中发现安全漏洞,请通过 shipuahamed01@gmail.com 发送电子邮件给 Shipu Ahamed。
许可证
LaraTie 包是开源软件,受 MIT 许可证许可。