經過長時間學習PHP JSON數組對象數組,於是和大家分享一下,看完本文你肯定有不少收獲,希望本文能教會你更多東西。學習PHP JSON數組對象數組時,,這裡將介紹PHP JSON數組對象數組問題的解決方法,在這裡拿出來和大家分享一下。
編寫 Hello 的 POJO,一個 Hello 接口,兩個類實現這個接口的 sayHello() 方法。其中,中文版 CnHello 類,顯示中文問候;英文 EnHello 類,顯示英文問候。
自己看代碼吧,很簡單:
測試。為類工廠指定上述配置文件。我們可以看見,對配置文件裡的不同ID,返回了不同的類實例。調用每個實例的方法,分別輸出了中文問候和英文問候。可見,我們只需要改變配置文件的內容,就可以返回不同的類實例,而不需修改程序源代碼。這就實現了簡單的 IOC 或者 DI。
- //作者:左洸
- //http://www.blogJava.Net/myqiao
- //備注使用雙反斜桿
- [
- //英文版配置
- {
- //類ID,方便工廠查找
- "id": "enHello",
- //類名
- "class_name":"EnHello",
- //類文件
- "class_file":"Hello.PHP",
- //屬性設置
- "propertIEs":[
- {
- "name":"msg",
- "value":"Hello World!"
- }
- ]
- },
- //中文版配置
- {
- "id": "cnHello",
- "class_name":"CnHello",
- "class_file":"Hello.PHP",
- "propertIEs":[
- {
- "name":"msg",
- "value":"世界你好!"
- }
- ]
- }
- ]
類工廠閃亮登場。實現了一些簡單功能,能夠解析指定的配置文件,並根據配置文件生成類,同時設置指定的屬性值,注釋很詳細,我就不多解釋了。代碼如下:
- <?PHP
- include_once("ClassFactory.PHP");
- $factory = new ClassFactory("config.JSon");
- $hello=$factory->getBean("enHello");
- echo $hello->sayHello() .'<br>';
- $hello=$factory->getBean("cnHello");
- echo $hello->sayHello();
- ?>
最後說一下,PHP JSON數組對象數組是動態語言,利用一些語言特性,實現起來很簡單,也沒用到反射之類的概念。要是用 Java 實現可能要復雜點。