日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
漫談PHPJSON數(shù)組對(duì)象數(shù)組介紹研究

經(jīng)過長(zhǎng)時(shí)間學(xué)習(xí)PHP JSON數(shù)組對(duì)象數(shù)組,于是和大家分享一下,看完本文你肯定有不少收獲,希望本文能教會(huì)你更多東西。學(xué)習(xí)PHP JSON數(shù)組對(duì)象數(shù)組時(shí),,這里將介紹PHP JSON數(shù)組對(duì)象數(shù)組問題的解決方法,在這里拿出來和大家分享一下。

 編寫 Hello 的 POJO,一個(gè) Hello 接口,兩個(gè)類實(shí)現(xiàn)這個(gè)接口的 sayHello() 方法。其中,中文版 CnHello 類,顯示中文問候;英文 EnHello 類,顯示英文問候。
自己看代碼吧,很簡(jiǎn)單:

  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. ?> 

測(cè)試。為類工廠指定上述配置文件。我們可以看見,對(duì)配置文件里的不同ID,返回了不同的類實(shí)例。調(diào)用每個(gè)實(shí)例的方法,分別輸出了中文問候和英文問候??梢姡覀冎恍枰淖兣渲梦募膬?nèi)容,就可以返回不同的類實(shí)例,而不需修改程序源代碼。這就實(shí)現(xiàn)了簡(jiǎn)單的 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.         //屬性設(shè)置  
  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.     }  

類工廠閃亮登場(chǎng)。實(shí)現(xiàn)了一些簡(jiǎn)單功能,能夠解析指定的配置文件,并根據(jù)配置文件生成類,同時(shí)設(shè)置指定的屬性值,注釋很詳細(xì),我就不多解釋了。代碼如下:

 
 
  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數(shù)組對(duì)象數(shù)組是動(dòng)態(tài)語言,利用一些語言特性,實(shí)現(xiàn)起來很簡(jiǎn)單,也沒用到反射之類的概念。要是用 Java 實(shí)現(xiàn)可能要復(fù)雜點(diǎn)。


文章標(biāo)題:漫談PHPJSON數(shù)組對(duì)象數(shù)組介紹研究
URL標(biāo)題:http://www.dlmjj.cn/article/djhiisd.html