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();

 

 

posted @ 2013-09-11 14:11  幻星宇  阅读(431)  评论(0编辑  收藏  举报