JSON返回的自定义
当返回json格式的数据时,不想自己组织结果集,可以利用类的call方法。
json类:
1 <?php 2 class Json { 3 4 private $_data; 5 6 public function __construct() { 7 $this->_data = array(); 8 } 9 10 public function __call($method, $args) { 11 if (!isset($args[0])) return null; 12 13 $this->_data[$method] = $args[0]; 14 15 return $this; 16 } 17 18 function __set($prop_name, $prop_value) { 19 $this->_data[$prop_name] = $prop_value; 20 return true; 21 } 22 23 function __get($prop_name) { 24 return $this->_data[$prop_name]; 25 } 26 27 public function __toString() { 28 return json_encode($this->_data); 29 } 30 31 public function out() { 32 echo $this->__toString(); 33 } 34 35 }
调用json类:
1 <?php 2 require 'json.php'; 3 4 class Test_Json { 5 public $json; 6 7 public function __construct() { 8 $this->json = new Json(); 9 10 echo $this->json->code(1)->alert('tttt')->gg(array('ss')); exit; 11 } 12 } 13 14 $test_json = new Test_Json();