我有一个通过查询字符串有很多参数的rest api。我想知道是否有人知道设计模式或有组织所有参数(对象、函数、数组、json)的好方法。现在我正在解析和验证同一个函数中的所有参数,非常丑陋的代码。
理想情况下,我想要某种方法来处理类似于数据库 ORM 甚至配置文件/数组/json 的参数。但是,我试图想出一个解决方案,但没有任何运气。
任何见解将不胜感激!
我的想法的例子:
<?php
...
$parameters = [
// ?fields=id,name
'fields' => [
'default' => ['id', 'name'],
'valid' => ['id', 'name', 'date],
'type' => 'csv', // list of values (id & name)
'required' => ['id'],
'replace' => ['title' => 'name'], // if the database & api names don't match
'relation' => null, // related database table
],
// ?list=true
'list' => [
'default' => ['false'],
'valid' => ['true', 'false'],
'type' => 'boolean' // single value (true or false)
'required' => [],
'replace' => [], // if the database & api names don't match
'relation' => 'category', // related database table
],
....
];