PHP的JSON缺少一些性能

PHP的JSON缺少一些性能

问题描述:

我有一个PHP类,当我json_encode文件,我没有得到总计,小计在JSON字符串,我怎么能做到这一点,PHP的JSON缺少一些性能

class sale{ 

public $Customer; 
public $DiscountRate; 
public $TaxRate; 
public $SaleItems; 

public function Total() 
{ 
// .... 
} 
public function Subtotal() 
{ 
// .... 
} 
} 
+1

JSON enccoding编码实例的__properties__,而不是__methods __....你真的希望json_encode,自动将转换PHP代码(及其所有可能依赖性,数据库访问等),以JavaScript代码? –

+0

不,但我需要总和小计的编码值,所以我如何实现这个 – Smith

+1

正如约翰在他的回答中所建议的[JsonSerializable](http://php.net/manual/en/class.jsonserializable.php )并将这两个调用的结果作为附加属性添加 –

您可以申请JsonSerializable接口到您的班级并实施jsonSerialize()方法。此方法的返回值将用作json_encode()函数的输入。

class Sale implements JsonSerializable { 

    public $customer; 

    public function total() { 
     return 40; 
    } 

    public function jsonSerialize() { 
     return [ 
      'customer' => $this->customer, 
      'total' => $this->total() 
     ]; 
    } 
} 
+0

请问你能帮助一个例子吗? – Smith

+0

@史密斯编辑添加一个例子。 –