shipu/laratie

Laravel 包模板

v1.9.0 2022-08-21 18:47 UTC

This package is auto-updated.

Last update: 2024-09-21 23:27:54 UTC


README

Laravel 包开发模板。

功能

安装

进入终端并运行此命令

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 许可证许可。