【发布时间】:2018-11-08 17:31:36
【问题描述】:
背景:
我正在通过 POST 接收支付服务的交易初始化参数。然后我需要使用这些参数在 PHP 中创建一个 'Deposit' 对象,然后 JSON 序列化存放的对象并将 JSON 存储到一个变量中。
我正在尝试使用以下代码来实现:
代码:
//get parameters by POST and add to Deposit class
$user_id = echo $_POST["user"];
$tradingaccount_id = echo $_POST["trading_account"];
$fundprocessor_id = echo $_POST["func_processor"];
$paymentgateway_type = echo $_POST["payment_gateway_type"];
$paymentgateway_id = echo $_POST["payment_gateway_id"];
$amount = echo $_POST["deposit_amount"];
$client_ip = echo $_POST["user_ip"];
//Deposit class
var deposit = new Deposit
{
UserId = echo $user_id,
TradingAccountId = new Guid(echo $tradingaccount_id),
FundProcessorId = int (echo $fundprocessor_id),
PaymentGatewayId = echo $paymentgateway_id,
Amount = echo $amount,
ClientIp = echo $client_ip
//serialize data to JSON
function getJsonData(){
$var = get_object_vars($this);
foreach ($var as &$value) {
if (is_object($value) && method_exists($value,'getJsonData')) {
$value = $value->getJsonData();
}
}
return $var;
}
};
问题:
以上是正确的方法吗? $var 变量会包含 JSON 序列化的对象吗?
【问题讨论】:
-
请阅读docs 了解如何声明变量。
-
@hungrykoala ,你的意思是我应该改变变量在“存款”类中的声明方式?谢谢
-
在分配变量时不需要回显它们。
$user_id = $_POST["user"]; -
我明白了,所以我也不应该在课堂上使用 echo,对吧?
标签: php json class post parameters