深度剖析JSON協(xié)議對(duì)與PHP產(chǎn)生的種種問(wèn)題
JSON協(xié)議 是一種有用的、輕量級(jí)協(xié)議,現(xiàn)在可用于 PHP V5.2,它可以輕松地實(shí)現(xiàn)從 PHP 應(yīng)用程序中提取出數(shù)據(jù),擁有了這樣的協(xié)議就更好的便于我們進(jìn)行對(duì)JSON以及PHP進(jìn)行學(xué)習(xí)研究了。
然后去那邊的JSON協(xié)議提醒一下. 但我不能等到官方搞了我再升級(jí)上去,對(duì)不?所以我只好手工安裝了...雖然咱們是***在sabayon上手工安裝程序,但原理應(yīng)該是一樣的對(duì)不。
1.
首先equo help...發(fā)現(xiàn)有source選項(xiàng)...那就來(lái)吧, 下個(gè)php原代碼.默認(rèn)將會(huì)下載到ls /var/tmp/entropy/sources/dev-lang/php-5.2.8-r1/php-5.2.8.tar.bz2 php-patchset-5.2.8-r1.tar.bz2而且連patch也一并下了(雖說(shuō)很自動(dòng)化... 不過(guò)似乎用不到)...咱純粹就是為了裝JSON協(xié)議
2.
解壓phpcd /var/tmp/entropy/sources/dev-lang/php-5.2.8-r1/ && tar -xjf php-5.2.8.tar.bz2然后就會(huì)解壓到php-5.2.8目錄, 進(jìn)去到ext/json
3.
此時(shí)假如 phpize, 然后configure/make的話會(huì)出錯(cuò),說(shuō)是libtool版本不對(duì),讓你重新aclocal/autoconf一下反正咱們也是莫名其妙,隨便就按它說(shuō)的做吧...
4.aclocalautoconf./configuremake好了 cd modules, 就有了json.so ls /var/tmp/entropy/sources/dev-lang/php-5.2.8-r1/php-5.2.8/ext/json/modules/
json.la json.so我們搞 php的應(yīng)該很熟...#T#
當(dāng)然接下來(lái)就是拷貝到php的lib目錄里, 這個(gè)隨便找一下已安裝的擴(kuò)展就行了,比如我的coto ext-active # locate imagick.so/usr/lib/php5/lib/php/extensions/no-debug-non-zts-20060613/imagick.so那就放到同目錄下另外搞個(gè)配置...這個(gè)搞php的應(yīng)該也很熟.
不過(guò)sabayon的配置文件結(jié)構(gòu)不一樣. 它php4/php5 and cli/apache是分開(kāi)的coto ext-active # ls /etc/php/apache2-php4 apache2-php5 cli-php4 cli-php5而且啟用的擴(kuò)展是放在ext-active里, 所以,假如我要apache/cli同時(shí)支持json, 那么要放兩個(gè)地方apache2-php5/ext-activecli-php5/ext-activ
JSON協(xié)議 是一種有用的、輕量級(jí)協(xié)議,現(xiàn)在可用于 PHP V5.2,它可以輕松地實(shí)現(xiàn)從 PHP 應(yīng)用程序中提取出數(shù)據(jù),并將其放入 Ajax 應(yīng)用程序的過(guò)程。相應(yīng)地,PHP 中的 JSON 同樣也是輕量級(jí)且十分有用的,只包含兩個(gè)易于使用的函數(shù)。
使用這些函數(shù),我們可以轉(zhuǎn)換和導(dǎo)出對(duì)象結(jié)構(gòu),還可以使用 json_encode() 使來(lái)自 PHP 數(shù)據(jù)庫(kù)連接的數(shù)據(jù)可用于 Ajax 應(yīng)用程序。在 Ajax 應(yīng)用程序中處理完數(shù)據(jù)后,可以將數(shù)據(jù)返回 PHP 腳本并用 json_decode() 重新創(chuàng)建可用的對(duì)象數(shù)據(jù)結(jié)構(gòu)。當(dāng)把數(shù)據(jù)返回到 PHP 后,我們可以將其存儲(chǔ)到數(shù)據(jù)庫(kù)中,或使用 PHP 提供的眾多選擇中的任何其他數(shù)據(jù)處理方法。