漫谈PHPJSON数组对象数组介绍研究

经过长时间学习PHP JSON数组对象数组,于是和大家分享一下,看完本文你肯定有不少收获,希望本文能教会你更多东西。学习PHP JSON数组对象数组时,,这里将介绍PHP JSON数组对象数组问题的解决方法,在这里拿出来和大家分享一下。

 编写 Hello 的 POJO,一个 Hello 接口,两个类实现这个接口的 sayHello() 方法。其中,中文版 CnHello 类,显示中文问候;英文 EnHello 类,显示英文问候。
自己看代码吧,很简单:

  1.  
  2.  
  3. /**  
  4.  * @author 左洸,http://www.blogjava.net/myqiao  
  5.  */  
  6. interface Hello {  
  7.     public function sayHello();  
  8. }  
  9.  
  10. //中文版  
  11. class EnHello implements Hello{  
  12.     private  $msg;  
  13.  
  14.     function getMsg(){  
  15.         return $this->msg;  
  16.     }  
  17.  
  18.     function setMsg($value){  
  19.         $this->msg=$value;  
  20.     }  
  21.       
  22.     function sayHello(){  
  23.         echo "English Version:" . $this->msg;  
  24.     }  
  25. }  
  26.  
  27. //英文版  
  28. class CnHello implements Hello{  
  29.     private  $msg;  
  30.  
  31.     function getMsg(){  
  32.         return $this->msg;  
  33.     }  
  34.  
  35.     function setMsg($value){  
  36.         $this->msg=$value;  
  37.     }  
  38.  
  39.     function sayHello(){  
  40.         echo "中文版" . $this->msg;  
  41.     }  
  42. }  
  43.  
  44. ?> 

测试。为类工厂指定上述配置文件。我们可以看见,对配置文件里的不同ID,返回了不同的类实例。调用每个实例的方法,分别输出了中文问候和英文问候。可见,我们只需要改变配置文件的内容,就可以返回不同的类实例,而不需修改程序源代码。这就实现了简单的 IOC 或者 DI。#t#

 
 
  1. //作者:左洸  
  2. //http://www.blogjava.net/myqiao  
  3.  
  4. //备注使用双反斜杆  
  5. [  
  6.     //英文版配置  
  7.     {  
  8.         //类ID,方便工厂查找  
  9.         "id": "enHello",  
  10.  
  11.         //类名  
  12.         "class_name":"EnHello",  
  13.  
  14.         //类文件  
  15.         "class_file":"Hello.php",  
  16.  
  17.         //属性设置  
  18.         "properties":[  
  19.             {  
  20.                 "name":"msg",  
  21.                 "value":"Hello World!"  
  22.             }  
  23.         ]  
  24.     },  
  25.  
  26.     //中文版配置  
  27.     {  
  28.         "id": "cnHello",  
  29.         "class_name":"CnHello",  
  30.         "class_file":"Hello.php",  
  31.         "properties":[  
  32.             {  
  33.                 "name":"msg",  
  34.                 "value":"世界你好!"  
  35.             }  
  36.         ]  
  37.     }  

类工厂闪亮登场。实现了一些简单功能,能够解析指定的配置文件,并根据配置文件生成类,同时设置指定的属性值,注释很详细,我就不多解释了。代码如下:

 
 
  1.  
  2. include_once("ClassFactory.php");  
  3. $factory = new ClassFactory("config.json");  
  4.  
  5. $hello=$factory->getBean("enHello");  
  6. echo $hello->sayHello() .'
    ';  
  7.  
  8. $hello=$factory->getBean("cnHello");  
  9. echo $hello->sayHello();  
  10. ?> 

最后说一下,PHP JSON数组对象数组是动态语言,利用一些语言特性,实现起来很简单,也没用到反射之类的概念。要是用 Java 实现可能要复杂点。

当前标题:漫谈PHPJSON数组对象数组介绍研究
网站路径:http://www.csdahua.cn/qtweb/news44/382494.html

网站建设、网络推广公司-快上网,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 快上网