gpt4 book ai didi

php - 如何将 JSON 对象映射到 PHP 类?

转载 作者:可可西里 更新时间:2023-10-31 22:40:02 25 4
gpt4 key购买 nike

我正在构建一个将公司添加到 MySQL 数据库的 REST API endpint。客户端发送带有附加数据包的 POST 请求。数据包是一个 JSON 对象。假设 JSON 公司对象的格式与 API 使用的公司类完全匹配。

如何将 JSON 公司对象数据放入公司类?实例化一个 Company 对象,json_decode() JSON 对象,然后调用几十个 set() 方法似乎很愚蠢。

这看起来特别愚蠢,因为我计划在我的客户端包中提供相同的模型来构建对象,这些对象在解码之前作为 JSON 传递到我的 API,然后再次映射回相同的对象。

我错过了什么吗?在构建我的 API 时,我经常遇到看似多余的事情,但也许这就是必须发生的事情。

最佳答案

为什么不在 Company 对象的构造函数中处理全部,以便将 JSON 对象作为参数传入,构造函数处理所有分配。这样您甚至不需要公共(public)集合方法。

$companyData = $_POST['company'];
//or $companyData = json_decode($_POST['company']);
//or whatever depending on how you are posting

class Company {
private $companyName;
//etc...
function __construct(array $data) {
foreach($data as $key => $val) {
if(property_exists(__CLASS__,$key)) {
$this->$key = $val;
}
}
}
}

关于php - 如何将 JSON 对象映射到 PHP 类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17197023/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com