phpsa / laravel-case-remapping
允许将输入/输出的大小写映射为驼峰/蛇形的方法
v1.0.1
2021-08-11 22:16 UTC
Requires
- php: ^8.0
- illuminate/contracts: ^8.41
- spatie/laravel-package-tools: ^1.4.3
Requires (Dev)
- brianium/paratest: ^6.2
- illuminate/collections: ^8.41
- nunomaduro/collision: ^5.3
- nunomaduro/larastan: ^0.7.10
- orchestra/testbench: ^6.15
- phpstan/extension-installer: ^1.1
- phpstan/phpstan-deprecation-rules: ^0.12.6
- phpstan/phpstan-phpunit: ^0.12.21
- phpunit/phpunit: ^9.3
- spatie/laravel-ray: ^1.23
- vimeo/psalm: ^4.8
README
这里应该放置你的描述。请限制为一两段。考虑添加一个小的示例。
安装
您可以通过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
头部的值,它将返回以下之一 camel
、kebab
、snake
使用 - 集合方法
此包包括3个集合宏
- snakeKeys - 将所有数组键转换为蛇形
- camelKeys - 将所有数组键转换为驼峰形
- kebabKeys - 将所有数组键转换为短横线形式
测试
composer test
变更日志
请参阅变更日志了解最近更改的详细信息。
贡献
请参阅贡献指南以获取详细信息。
安全漏洞
请审查我们的安全策略了解如何报告安全漏洞。
鸣谢
许可证
MIT许可证(MIT)。请参阅许可证文件以获取更多信息。