toanna/saf-laravel-toolkit

SAF 的 Laravel 开发者开发工具包

v1.3.4 2019-10-08 07:28 UTC

This package is auto-updated.

Last update: 2024-09-08 19:07:42 UTC


README

SAF 的 Laravel 开发者开发工具包

开始使用

$ composer require toanna/saf-laravel-toolkit

命令

初始化文件夹结构

$ php artisan saf:init

文件夹结构

/app
    /Abstraction
        /ExternalServiceInterface
        /RepositoryInterface
    /Business
    /BusinessService
    /Common
        /CircuitBreaker
        /DomainModels
        /Exceptions
        /ExternalConfig
        /Logging
    /Dependency
        /ExternalServices
        /Repositories
    /Providers
    /Representation
        /Console
        /Http
            /Controllers
                /Api
                /Auth
            /Middleware
            /Requests
            Kernel.php

初始化 git 钩子

连接远程后,运行此命令以设置

$ php artisan saf:git-hooks-init

创建命令

创建一个抽象接口到 app/Abstraction/

$ php artisan saf:abstraction ExternalServiceInterface/IFileUploader

创建一个业务逻辑类到 app/Business/

$ php artisan saf:business CreateFileBL

创建一个业务服务类到 app/BusinessService/

$ php artisan saf:business_service CreateFileBS

创建一个控制器类到 app/Representation/Http/

$ php artisan saf:controller TestController

创建一个 API 控制器类到 app/Representation/Http/Api

$ php artisan saf:api_controller FileController

创建一个依赖类到 app/Dependency/

$ php artisan saf:dependency Repositories/SQLFileCreator

创建一个领域模型类到 app/Common/DomainModels

$ php artisan saf:domain_model File

创建一个 Eloquent ORM 类到 app/Dependency/Repositories/Eloquent/

$ php artisan saf:eloquent FileEloquent

创建一个异常类到 app/Common/Exceptions/

$ php artisan saf:exception ValidationException

创建一个表单请求类到 app/Representation/Http/Requests/

$ php artisan saf:request CreateFileRequest

创建一个资源到 app/Representation/Http/Resources/

$ php artisan saf:resource

创建一个 Artisan 命令到 app/Representation/Console/Commands/

$ php artisan saf:console AbstractionMakeCommand

常用库

Elastic Logger

示例在 app/config/logging.php

'stack' => [
    'driver' => 'stack',
    'channels' => ['daily', 'elastic'],
],

'elastic' => [
    'driver' => 'custom',
    'via' => Toanna\SAFLaravelToolkit\Common\Logging\ElasticLogger::class,
    'host' => 'localhost',
    'port' => 9200,
    'level' => 'debug'
],

贡献者