定制 kjos/kjos-laravel-parameter-mapper 二次开发

按需修改功能、优化性能、对接业务系统,提供一站式技术支持

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

kjos/kjos-laravel-parameter-mapper

最新稳定版本:v1.3.4

Composer 安装命令:

composer require kjos/kjos-laravel-parameter-mapper

包简介

ParameterMapper tool for Laravel and other

README 文档

README

Packagist Version PHP License

🌐 Multilanguage | Multilingual

🇬🇧 English

Kjos Laravel Parameter Mapper

A Laravel package that allows you to dynamically map GET and POST parameters sent by the client to your application's backend keys, and vice versa. Useful for hiding the actual field names from the user or for standardizing your APIs.

Installation

For Laravel 12 or higher:

composer require kjos/kjos-laravel-parameter-mapper

Publish the configuration

php artisan vendor:publish --tag=parametermap

Configuration

return [
    'map' => [
        // frontParam => backendParam
        'id_ur'   => 'user_id',
        'name_lt' => 'last_name',
        'ae'      => 'age',
    ],

    // Valeurs spécifiques à mapper (ex: search=id_us => search=user_id)
    'values-to-map' => [
          'search',
    ],
    
    // Mapper les clés dans des tableaux (ex: sort[id_us] => sort[user_id])
        'array-keys-to-map' => [
            'sort',
        ],

        'reject-knowns' => true,
];

##Middleware

use Kjos\ParameterMapper\Middleware\MapRequestParameters;
Route::middleware([MapRequestParameters::class])

Class ParameterMapper

use Kjos\ParameterMapper\Support\ParameterMapper;

// Map front -> back
$mapped = ParameterMapper::apply([ 
'id_ur' => 1, 
'name_lt' => 'Koffi', 
'ae' => 10, 
'sort' => ['id_ur' => 'asc'], 
'search' => 'id_ur',
]);

// Map back -> front
$frontend = ParameterMapper::reverse([ 
'user_id' => 1, 
'last_name' => 'Koffi', 
'age' => 10, 
'sort' => ['user_id' => 'asc'], 
'search' => 'user_id',
]);

Use in Factories

$datas = ParameterMapper::reverse([ 
'user_id' => 1, 
'last_name' => 'Koffi', 
'age' => 10, 
]);

Becomes:

[
'id_ur' => 1,

'name_lt' => 'Koffi',

'ae' => 10,

]

API Example

Request:

GET /api/admins?search=id_us&sort[id_us]=asc

Automatically transformed into:

[
'search' => 'user_id',

'sort' => ['user_id' => 'asc']
];

🔒 reject-knowns — Reject internal parameters

The reject-knowns parameter allows you to automatically reject any request that contains a parameter corresponding to an internal backend key.

Purpose

To prevent users from directly sending backend (internal) field names that are normally hidden behind the front-end map.

For example, if you have this map:

'map' => [
'id_ur' => 'user_id',
'name_lt' => 'last_name',
'ae' => 'age',
],

and reject-knowns is enabled:

'reject-knowns' => true,

Then a request like:

GET /api/admins?user_id=1 will be rejected with an HTTP 404 error, because user_id is an internal parameter and should not be exposed on the front end.

Comment to enable it

In the configuration file config/parameter-mapper.php

<?php

return [
'map' => [
'id_ur' => 'user_id',
'name_lt' => 'last_name',
'ae' => 'age',
],

// Reject known backend parameters
'reject-knowns' => true,
];

Map the response

In the configuration file config/parameter-mapper.php

<?php

return [
'map' => [
    ...
],

// Will map the response
'map-response' => true,
];

Schema

Schema

📁 Directory Structure

project-root/ 
├── CHANGELOG.md 
├── LICENSE 
├── README.md 
├── composer.json 
├── composer.lock 
├── config 
│ └── parameter-mapper.php 
├── grumphp.yml 
├── phpunit.xml 
├── pint.json 
├── schema.png 
├── src 
│ ├── Middleware 
│ ├── ParameterMapperServiceProvider.php 
│ └── Support 
├── tests 
│ ├── ExampleTest.php 
│ ├── Feature 
│ ├── Pest.php 
│ ├── TestCase.php 
│ └── Unit

👤 Author

Maintained by Jean Koffi

📄 License

MIT © kjos/kjos-laravel-parameter-mapper

🤝 Call for contributions

This project is open to contributions! Are you a developer, passionate about Laravel, or interested in multi-tenant architecture?

-Fork the project

  • Create a branch (klpm/my-feature)

  • Make a PR 🧪

统计信息

  • 总下载量: 13
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 1
  • 点击次数: 1
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 1
  • Watchers: 0
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2025-11-17

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固