phpsa / laravel-case-remapping

允许将输入/输出的大小写映射为驼峰/蛇形的方法

v1.0.1 2021-08-11 22:16 UTC

This package is auto-updated.

Last update: 2024-09-12 05:04:26 UTC


README

Latest Version on Packagist GitHub Tests Action Status GitHub Code Style Action Status Total Downloads

这里应该放置你的描述。请限制为一两段。考虑添加一个小的示例。

安装

您可以通过composer安装此包

composer require phpsa/laravel-case-remapping

使用 - 用于传入请求的中间件

将中间件添加为:Phpsa\LaravelCaseRemapping\Http\Middleware\SnakeCaseInputs 到您的路由,例如

Route::post('xxx',[...])->withMiddleware(\Phpsa\LaravelCaseRemapping\Http\Middleware\SnakeCaseInputs::class)

在你的控制器构造函数中

public function __construct()
{
    $this->middleware(\Phpsa\LaravelCaseRemapping\Http\Middleware\SnakeCaseInputs::class);
}

或通过全局的app/Http/Kernal.php 文件

protected $middlewareGroups = [
        'web' => [
            \App\Http\Middleware\EncryptCookies::class,
            \Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse::class,
            \Illuminate\Session\Middleware\StartSession::class,
            // \Illuminate\Session\Middleware\AuthenticateSession::class,
            \Illuminate\View\Middleware\ShareErrorsFromSession::class,
            \App\Http\Middleware\VerifyCsrfToken::class,
            \Illuminate\Routing\Middleware\SubstituteBindings::class,
        ],

        'api' => [
            'throttle:api',
            \Illuminate\Routing\Middleware\SubstituteBindings::class,
            \Phpsa\LaravelCaseRemapping\Http\Middleware\SnakeCaseInputs::class
        ],
    ];

使用 - 对你的Transformers/Response对象的响应包装

将以下特质添加到你的资源中:\Phpsa\LaravelCaseRemapping\Http\Resources\WithAcceptedCase

然后在你的toArray方法中更改为以下示例

public function toArray($request){
    $data = parent::toArray($request);

    ... // any other modifications

    return $this->toAcceptCase($request, $data);
}

根据传递到请求的X-Accept-Case-Type头部的值,它将返回以下之一 camelkebabsnake

使用 - 集合方法

此包包括3个集合宏

  • snakeKeys - 将所有数组键转换为蛇形
  • camelKeys - 将所有数组键转换为驼峰形
  • kebabKeys - 将所有数组键转换为短横线形式

测试

composer test

变更日志

请参阅变更日志了解最近更改的详细信息。

贡献

请参阅贡献指南以获取详细信息。

安全漏洞

请审查我们的安全策略了解如何报告安全漏洞。

鸣谢

许可证

MIT许可证(MIT)。请参阅许可证文件以获取更多信息。