所謂的“PHP”就是開放源碼的Web應(yīng)用開發(fā)/運行環(huán)境,日前《日經(jīng)Open System》記者就今后PHP開發(fā)中心的發(fā)展計劃等問題采訪了該中心成員Zeev Suraski。Zeev Suraski表示,新版PHP中將導(dǎo)入t " /> 久久精品人人做人人爽电影,欧美日韩国产欧美日美国产精品,久久久精品一品道一区

色尼玛亚洲综合影院,亚洲3atv精品一区二区三区,麻豆freexxxx性91精品,欧美在线91

新版PHP將向Java靠攏


所謂的“php”就是開放源碼的Web應(yīng)用開發(fā)/運行環(huán)境,日前《日經(jīng)Open System》記者就今后php開發(fā)中心的發(fā)展計劃等問題采訪了該中心成員Zeev Suraski。Zeev Suraski表示,新版php中將導(dǎo)入try、catch等語句,從而更接近Java,以便更容易地進行大型系統(tǒng)的開發(fā)。(采訪者:高橋 信賴)

--請您談一下決定開發(fā)php的起因。

Rasmus Lerdorf于1995年首先公布了php。1997年我在制作以色列大學(xué)網(wǎng)頁及網(wǎng)上商店站點時,使用了當時名為php/FI(Personal Home Page/Form Interpreter)的工具,這時才開始接觸到php。在使用的過程中,發(fā)現(xiàn)了一個很大的bug。由于源碼是公開的,所以我對bug產(chǎn)生的原因進行了調(diào)查并做了修改,在調(diào)查中發(fā)現(xiàn)還有很大的改進余地。于是就和當時共同做項目的Andi Gutmans一起對php/FI腳本執(zhí)行引擎進行了修改。修改后的執(zhí)行引擎交給Lerdorf后,就成了新版php3.0的正式執(zhí)行引擎。

通過改進腳本執(zhí)行引擎,我們開發(fā)出了速度更高的Zend Engine。Zend這個名字是Zeev與Andi的組合。嵌入了Zend Engine的php就是目前的版本php4。原來的程序是邊讀入邊解釋來執(zhí)行,后來改成了每個執(zhí)行周期解釋一次 ,因此執(zhí)行100個周期就要進行100次同樣的解釋處理。而Zend Engine則是一開始就對整個文件的腳本進行解釋 ,然后再開始執(zhí)行。由于大幅削減了解釋過程,所以執(zhí)行速度得以大幅提高。

php4在發(fā)表后2個月內(nèi)就被下載了26萬5000次。據(jù)美國調(diào)查公司NETcraft統(tǒng)計,目前php至少被安裝在600萬個域名服務(wù)器上。

我想php受到人們歡迎的最主要原因就是簡單實用。曾有人在給我的郵件中表示:“盡管沒有編程經(jīng)驗,但我使用php僅用3個小時就寫出了簡單的程序”。使用Java就達不到這種程度。此外,php是針對WWW開發(fā)的,因此,還可以方便地處理Cookie與表單。

php是免費的,今后仍將繼續(xù)免費發(fā)布,但考慮到商業(yè)成本與支持產(chǎn)品的要求,于1999年設(shè)立了以色列Zend,并開發(fā)出高速php軟件及綜合開發(fā)工具進行銷售。

--預(yù)定2002年底發(fā)布的新版php5中,準備擴展哪些功能?

將進一步改進面向?qū)ο蠊δ埽勾笮拖到y(tǒng)的開發(fā)更加容易。盡管php已經(jīng)具有類與子類等,但php5會更接近Java。將引入了try、catch等Java具有的特殊處理語句結(jié)構(gòu)。

php4中,函數(shù)作為變量使用,即使給出一個對象也不會發(fā)生變化。php可以標準賦值,對象也可以賦值,所以函數(shù)值并非對象本身,而是一個拷貝過來的值。當函數(shù)需要變更為對象數(shù)值時,就要在作為變量的對象前加上“&”符號來專門提示。在Java中不需要這樣的提示,而php5則采用的是與Java相同的模式。

此外,php5還導(dǎo)入了名稱空間(Name Space),名稱空間確定后,函數(shù)、變量、類名的有效范圍均被限制在名稱空間內(nèi)。當清楚名稱范圍后,在使用變數(shù)與函數(shù)名時就可以忽略重復(fù)的名稱,這也方便了大型程序的開發(fā)。

名為“stream”的新功能也是一項便利的功能。它可以使WWW服務(wù)器與ftp服務(wù)器上的文件與本地文件使用同樣的函數(shù)。也就是說,fopen(本地文件名)可以像fopen(hppt://主機名/文件名)一樣使用。壓縮文件可像普通的非壓縮文件一樣處理。而且不用等到php5,在以后發(fā)布的php4中就將安裝上“stream”。

--有人指出,由于php為HTML嵌入型,和Java一樣難以將顯示(Presentation)與邏輯部分分離,難以實現(xiàn)模塊化。

事實上,使用php完全能夠分離顯示與邏輯部分。php有一項調(diào)出Java對象的功能。可以將php作為顯示層、將Java對象作為邏輯層使用。

另一個方法就是使用模板庫Smarty的方法。Smarty是一個從HTML模板動態(tài)生成HTML的工具。即便HTML中完全沒有寫入php邏輯,也可以生成符合HTML的php運行結(jié)果。

盡管如此,也并不是說在任何情況下分離顯示與邏輯都是有利的。比如在開發(fā)小型系統(tǒng)時,分離后反而變得更復(fù)雜,很難對整體進行把握,最終影響開發(fā)效率,這就是缺點所在。

--2002年2月底,php曾被發(fā)現(xiàn)存在嚴重的安全漏洞。

php在5年時間里都沒有出現(xiàn)過嚴重的安全漏洞,但不幸在2月底發(fā)現(xiàn)文件上傳功能存在問題。

我們認為安全性至關(guān)重要,并對此采取了2項措施:首先,在接到安全漏洞報告的30個小時內(nèi)制作并公布了補丁。哪種軟件也不能保證絕對不會出現(xiàn)安全漏洞。今后如發(fā)現(xiàn)有嚴重安全漏洞,我們?nèi)詫A盡全力、迅速采取補救措施。

其次,我們已經(jīng)開始檢查php的源碼,展開了安全檢查。即使不是自身的安全漏洞,也要對可能出現(xiàn)問題的部分進行檢查并進行修正。

php技術(shù)新版PHP將向Java靠攏,轉(zhuǎn)載需保留來源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 元阳县| 德兴市| 东山县| 尼玛县| 舟山市| 岗巴县| 布尔津县| 水富县| 额济纳旗| 盖州市| 乌什县| 湖北省| 偃师市| 仁怀市| 峨眉山市| 包头市| 五峰| 海南省| 青田县| 东乡县| 舞阳县| 长寿区| 庆阳市| 玛曲县| 油尖旺区| 锦州市| 凤山市| 芦山县| 永靖县| 获嘉县| 基隆市| 普兰店市| 苍南县| 巧家县| 泽普县| 定结县| 东乡县| 商都县| 宁安市| 宁晋县| 手游|