shetabit / transformer
以简单的方式转换或修改数组键
v2.0.1
2019-08-27 08:23 UTC
Requires (Dev)
- phpunit/phpunit: ^8.3
- squizlabs/php_codesniffer: ^3.4
This package is auto-updated.
Last update: 2024-08-26 21:02:02 UTC
README
Laravel 转换器
轻松转换数组键。
内容列表
安装
通过 Composer
$ composer require shetabit/transformer
如何使用
您可以使用 get($transformer)
方法转换数组键。
$originalData = [ 'f_name' => 'mahdi', 'l_name' => 'khanzadi' ]; $role = [ 'f_name' => 'first_name', 'l_name' => 'last_name', ]; $transformer = new Transformer($role); $transformedData = (new Transform($originalData))->get($transformer); /* data: [ 'first_name' => 'mahdi', 'last_name' => 'khanzadi' ] */
或者,您可以使用 from($currentFormat)
和 to($destinationFormat)
。
$originalData = [ 'f_name' => 'mahdi', 'l_name' => 'khanzadi' ]; $transformer = new Transformer(); // convert f_name to first_name $transformer->from('f_name')->to('first_name'); // convert l_name to last_name $transformer->from('l_name')->to('last_name'); $transformedData = (new Transform($originalData))->use($transformer)->get(); /* data: [ 'first_name' => 'mahdi', 'last_name' => 'khanzadi' ] */
如您所见,您可以使用 setOriginalData
方法动态设置原始数据。
转换器
您可以使用 Shetabit\Transform\Classes\Transformer
来转换数组键。
如果您有复杂的数组结构,可以通过实现 TransformerInterface
创建自定义转换器
// at the top use Shetabit\Transformer\Contracts\TransformerInterface; // ... class CustomTranformerName implements TransformerInterface { /** * Transform data * * @return array */ public function transform(array $data) : array { return [ 'user_name' => $data['u'], 'password' => $data['p'] ]; } } // use your custom transformer $originalData = [ 'u' => 'mahdikhanzadi', 'p' => '246810' ]; $transformer = new CustomTranformerName(); $transformedData = (new Transform($originalData))->get($transformer); /* data: [ 'username' => 'mahdikhanzadi', 'password' => '246810' ] */
变更日志
请参阅 变更日志 了解最近的变化。
贡献
安全
如果您发现任何与安全相关的问题,请通过电子邮件 khanzadimahdi@gmail.com 联系,而不是使用问题跟踪器。
鸣谢
许可协议
MIT 许可协议 (MIT)。有关更多信息,请参阅 许可文件。