最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

PHP 已經(jīng)成熟

 更新時(shí)間:2006年12月04日 00:00:00   投稿:mdxy-dxy  
這篇文章主要介紹了PHP 已經(jīng)成熟

由于 PHP 正在成熟,因此是快速即編即用的腳本編制人員與了解 UML 的面向?qū)ο蟮拈_發(fā)人員“思想達(dá)成一致”的時(shí)候了。

  很少有編程語(yǔ)言能夠像 PHP 這樣迅速地得到普及。現(xiàn)在廣泛宣傳的那個(gè)關(guān)于自己動(dòng)手做 (DIY) 的腳本編制語(yǔ)言改變 IT 業(yè)的故事表明,成功不一定總是來(lái)自于系統(tǒng)計(jì)劃和市場(chǎng)研究。但是現(xiàn)在的實(shí)際問(wèn)題是這種成功如何能夠?yàn)辇嫶蟮?IT 業(yè)所接受。Oracle 以及其他幾個(gè)大的參與者正在關(guān)注 PHP 錚錚事實(shí)表明,這種語(yǔ)言已經(jīng)成熟。

  直到現(xiàn)在,成功也只是剛剛“出現(xiàn)”。數(shù)量不斷增長(zhǎng)的愛(ài)好者已經(jīng)聚集在 PHP 周圍,就象聚集在一個(gè)天才神童身邊一樣。但是既然這個(gè)孩子正在長(zhǎng)出胡子,并開始以平等的地位與成年人交談,那么早期的擁護(hù)者會(huì)適應(yīng)這種變化嗎?

  PHP 與大部分主要的開放源代碼項(xiàng)目一樣,是正在成為主流技術(shù)的過(guò)程中的一種基本現(xiàn)象。PHP 會(huì)使那些使它獲得名譽(yù)的人們失望嗎?它會(huì)達(dá)到龐大的 IT 業(yè)的期望嗎?

兩種編程文化的故事

  PHP 的成功吸引了不同背景人士的注意。早期的 Rasmus 的擁護(hù)者(如果您能諒解那些在開放源代碼圈內(nèi)不常出現(xiàn)的略以救世者自居的語(yǔ)氣)習(xí)慣于快速的即編即用的腳本編制方法,他們現(xiàn)在必須對(duì)付那些了解 UML、面向?qū)ο?(OO) 編程的開發(fā)人員,這些開發(fā)人員決心使 PHP 與其他現(xiàn)代的開發(fā)工具并駕齊驅(qū)。雙方都很了解 Web 開發(fā),都擁有強(qiáng)大的文化。忽略任何一方都是不明智的。

  早期的 PHP 類型了解 Web 開發(fā)的哪些方面,它擅長(zhǎng)做什么,不擅長(zhǎng)做什么?它了解很多關(guān)于設(shè)計(jì)的問(wèn)題。它的風(fēng)格有時(shí)可能會(huì)有問(wèn)題,但可以看出它擁有 HTML 和 CSS 功能,不必說(shuō)更為流行的多信息互聯(lián)網(wǎng)應(yīng)用程序 (RIA) 技術(shù)了。它總是那么年輕,卻經(jīng)常出現(xiàn)在 PHP 論壇中。術(shù)語(yǔ)“面向?qū)ο?rdquo;對(duì)于它可能具有負(fù)面的涵義。它的代碼很扼要,注重表現(xiàn)而不注重可維護(hù)性。

  由于采用類型松散的變量和為其 HTML 代碼填充 <?php?> 語(yǔ)句,因此 UML 類型將更缺乏吸引力。它將要考慮應(yīng)用程序體系結(jié)構(gòu)、類級(jí)代碼重用、團(tuán)隊(duì)合作以及源代碼管理。它知道,即使復(fù)雜度適中的網(wǎng)站首先也是一個(gè)應(yīng)用程序,而設(shè)計(jì)不良的應(yīng)用程序會(huì)導(dǎo)致工期延誤、惹惱客戶甚至丟掉工作。

  乍一看來(lái),后者似乎更適應(yīng)于需求越來(lái)越多的環(huán)境,在這種環(huán)境中,Web 開發(fā)將會(huì)越來(lái)越多地受到營(yíng)銷策略和經(jīng)濟(jì)因素的驅(qū)動(dòng)。但是我們是否應(yīng)該把前者看作瀕臨滅絕的物種?或許不應(yīng)該這樣。如果我們承認(rèn) Web 是與臺(tái)式機(jī)系統(tǒng)差別很大的一種媒介 — 更不要說(shuō)大型機(jī)了(還有人記得 3270 嗎?),在大型 機(jī)環(huán)境中產(chǎn)生了占統(tǒng)治地位的開發(fā)方法 — 則我們可能會(huì)得出結(jié)論,畢竟可以從這種成功卻相對(duì)雜亂的方法中學(xué)到很好并且有效的東西。

  讓我們來(lái)回顧實(shí)際的問(wèn)題,以便在其可能發(fā)生之前加以克服,并回顧一些實(shí)際的工作方法。

彌補(bǔ)文化差距

  現(xiàn)在 PHP5 即將把面向?qū)ο蠹夹g(shù)帶入到 PHP 世界中。Zend 引擎修改 (ZE2) 正在將對(duì)象引入到該語(yǔ)言的核心。不僅新的語(yǔ)言構(gòu)造鼓勵(lì)對(duì)象編程風(fēng)格,而且語(yǔ)言的實(shí)施也正在適應(yīng)其他的面向?qū)ο蟓h(huán)境。例如,不再以缺省方式將對(duì)象進(jìn)行來(lái)回的復(fù)制,而是通過(guò)引用來(lái)進(jìn)行處理。引入了新的關(guān)鍵字(如 final 或 static),它們只與對(duì)象概念相關(guān),是對(duì) Java 風(fēng)格的保留;其他特性(如委托)鼓勵(lì)使用對(duì)象設(shè)計(jì)模式。(期待在幾個(gè)月的時(shí)間后能夠聽(tīng)到大家談?wù)?ldquo;原有的 PHP4”。) 這種深刻的變化來(lái)自于向當(dāng)前占優(yōu)勢(shì)的編程模型進(jìn)行無(wú)情的轉(zhuǎn)移。無(wú)論您喜不喜歡,對(duì)象方法都將會(huì)流行,因?yàn)樗炎C明自己在提供復(fù)雜應(yīng)用程序方面最有效,無(wú)論它們是不是 Web 應(yīng)用程序。這使得我們別無(wú)選擇,只能尋找富于想象力的方法來(lái)協(xié)調(diào)兩種文化,以便具有設(shè)計(jì)思想的人與了解體系結(jié)構(gòu)的人能夠取長(zhǎng)補(bǔ)短。

  為此,必須開發(fā)(或從其他平臺(tái)中變換出)各種方法,以便在將其包含在清晰的界限內(nèi)的同時(shí)獲得語(yǔ)言的多功能性。這樣,編程創(chuàng)造力的“孤島”就可以存在于強(qiáng)健的體系結(jié)構(gòu)中。

  一個(gè)明顯的事實(shí)是,盡管 PHP CMS 或應(yīng)用程序框架的數(shù)量呈爆炸性增長(zhǎng),卻沒(méi)有關(guān)于它們的一致意見(jiàn)。經(jīng)常出現(xiàn)的報(bào)怨是,無(wú)論您的項(xiàng)目是什么,現(xiàn)有系統(tǒng)都不能完成任務(wù)。人們大都開始于對(duì)若干系統(tǒng)的評(píng)估,而最后經(jīng)常是從頭開發(fā)自己的框架。這是為什么?

  在臺(tái)式機(jī)系統(tǒng)中,似乎已經(jīng)由操作系統(tǒng)徹底解決了 GUI 設(shè)計(jì)問(wèn)題,與此相反,Web 是個(gè)原始視覺(jué)設(shè)計(jì)舉足輕重的平臺(tái)。Web 站點(diǎn)承載商業(yè)公司的形像和個(gè)性,可能會(huì)日益影響其收入。視覺(jué)創(chuàng)造力與品牌共同發(fā)揮作用,因此必須促進(jìn)它們的發(fā)展。

  同時(shí),必須能夠?qū)㈧`活的邏輯編入到應(yīng)用程序中,以便盡可能改善用戶體驗(yàn),應(yīng)牢記,用戶在 Web 上要比在臺(tái)式機(jī)系統(tǒng)中可能表現(xiàn)的更“菜”。

  當(dāng)設(shè)計(jì)人員不斷對(duì)程序員所設(shè)計(jì)的系統(tǒng)感到失望時(shí),這是個(gè)問(wèn)題,而當(dāng)開發(fā)人員不得不將應(yīng)用代碼強(qiáng)行加入到不完備的門戶框架中時(shí),這同樣是個(gè)問(wèn)題。最常見(jiàn)的結(jié)局就是無(wú)法令人滿意的折中 — 有些呆板的外觀、為了將應(yīng)用的復(fù)雜性限制在某個(gè)可管理級(jí)別而犧牲了很多可用性。(這種現(xiàn)象并不只限于 PHP 應(yīng)用程序。)

  為了徹底克服這些限制,設(shè)計(jì)人員和面向?qū)ο箝_發(fā)人員必須找到一種不阻礙對(duì)方工作的協(xié)作方法。最好的方法可能是從了解對(duì)方團(tuán)隊(duì)如何工作開始。

從技巧到產(chǎn)業(yè)

  此刻先不要考慮協(xié)作問(wèn)題,讓我們觀察各自的實(shí)際操作。讓我們按照 PHP 的歷史順序開始,首先訪問(wèn)一個(gè)“增強(qiáng) html”使用者的商店。

  進(jìn)行交易的工具非常類似于“純 html”使用者的工具:一些 html 編輯器,具有各種級(jí)別舒適特性和項(xiàng)目管理特性,并在某種程度上與 PHP、ASP、JavaScript 以及較次要工具相集成。

  讓我們花點(diǎn)時(shí)間仔細(xì)觀察一下代碼。我們首先會(huì)注意到,使用這些不同種類的工具生成的網(wǎng)站非常漂亮。我們?cè)谶@里不僅指技術(shù),也指天賦。由于擺脫了抽象編程因素的限制,Web 設(shè)計(jì)人員通過(guò)擺弄積極、微妙的情感效果(類似于機(jī)敏的裝飾人員在真實(shí)商店中所營(yíng)造的效果)營(yíng)造了令您網(wǎng)站的客戶感到安適的視覺(jué)環(huán)境。

  當(dāng)我們從經(jīng)過(guò)訓(xùn)練的面向?qū)ο缶幊陶叩慕嵌葋?lái)看這些代碼時(shí),事情卻突然變得很糟。代碼看上去就象它本身一樣:它是一次性的、用完即忘的工作,沒(méi)有為將來(lái)的發(fā)展或者為簡(jiǎn)易的維護(hù)作出任何準(zhǔn)備。經(jīng)常這樣,的確如此。

  那么,這有什么不好嗎?它以后是否會(huì)成為一個(gè)難題,導(dǎo)致放棄部分或整個(gè)網(wǎng)站并從頭開始重建呢?或許不是。畢竟,真實(shí)商店的裝修經(jīng)常定期拆除并重建。因此,就這些櫥窗式的網(wǎng)站而言,牛仔風(fēng)格的 PHP 編程已經(jīng)夠用了。這種語(yǔ)言富含各種有助于實(shí)現(xiàn)旨在吸引訪問(wèn)者注意的視覺(jué)效果的技巧。這里顯然與對(duì)象方法無(wú)關(guān)。

  一旦需要某些應(yīng)用邏輯時(shí),這種觀點(diǎn)就發(fā)生顯著的變化。您是否需要若干表單來(lái)收集有關(guān)您網(wǎng)站的常客的少量的營(yíng)銷信息?如果您希望這種信息能夠很中肯,則最好添加校驗(yàn)代碼。如果這樣做,您應(yīng)該確??梢赃^(guò)濾惡意腳本或 SQL 指令侵入式攻擊。順便說(shuō)一下,既然您正在閱讀 OTN 文章,因此您一定熟悉數(shù)據(jù)庫(kù) (DB) 問(wèn)題。您將要收集的這些信息將會(huì)存放在某些數(shù)據(jù)庫(kù)表中,而您的 PHP 代碼中的 SELECT 語(yǔ)句將反映這種數(shù)據(jù)庫(kù)結(jié)構(gòu)。從現(xiàn)在開始,這個(gè)網(wǎng)站已經(jīng)固定在您的業(yè)務(wù)基礎(chǔ)架構(gòu)中 — 它正在成為成熟的應(yīng)用程序。

  我們暫時(shí)不要管其所有的硬編碼鏈接、危險(xiǎn)的類型轉(zhuǎn)換以及安全漏洞,接著訪問(wèn)最新的 PHP 面向?qū)ο髴?yīng)用程序裝配線。對(duì)于我們那些具有藝術(shù)家風(fēng)范的 Web 設(shè)計(jì)人員而言,這種地方可能并不熟悉,甚至可能并不友好。在這里不太看重技巧。Web 開發(fā)已經(jīng)產(chǎn)業(yè)化了。要想為這里所接受,您必須熟悉類、繼承、數(shù)據(jù)抽象以及大量的代碼封裝工具。

  團(tuán)隊(duì)協(xié)作需要規(guī)則。必須遵循編程慣例;必須將源文件提交版本管理和源代碼管理。文件根據(jù)嚴(yán)格的模塊化層次進(jìn)行組織。摒棄了那些有危險(xiǎn)的編碼技巧 — 尤其是那些耍小聰明的技巧。代碼不僅必須易讀,而且必須有良好的注釋。

  這樣可能令人厭煩,但卻很有效?,F(xiàn)在我們正在創(chuàng)建 Web 應(yīng)用程序:內(nèi)聯(lián)網(wǎng)、商業(yè) Web 站點(diǎn)、電子市場(chǎng)、各種應(yīng)用程序,其中具有缺陷的設(shè)計(jì)都可能會(huì)導(dǎo)致停業(yè)。簡(jiǎn)言之,我們正在克服復(fù)雜性。

  PHP 面向?qū)ο笱b配線的管理者并沒(méi)有選擇 PHP,因?yàn)樗麄儫釔?ài)這種語(yǔ)言。他們之所以這樣做,是因?yàn)樗坏芟衲切S械钠渌Z(yǔ)言一樣有效地完成工作,而且還是免費(fèi)的,并且沒(méi)有任何附加條件。

我們要走向何處?

  那么我們將如何利用由那些經(jīng)過(guò) C++ 和 Java 培訓(xùn)的人們所提供的行業(yè)級(jí)方法,以完成對(duì)早期使用者所使用的多功能語(yǔ)言的專業(yè)技術(shù)的潛在補(bǔ)充?

  PHP5 將會(huì)動(dòng)搖很多習(xí)慣,因此這個(gè)問(wèn)題可能為時(shí)尚早。有些人將采用一定程度的面向?qū)ο蠓椒?,而另一些人最終會(huì)了解面向?qū)ο蟮乃袃?nèi)容并成為它的信仰者。某些小環(huán)境可能會(huì)象過(guò)去那樣良好運(yùn)行并繼續(xù)興盛發(fā)展。

讓我們來(lái)實(shí)踐一下

  現(xiàn)在讓我們深入到基礎(chǔ)的技術(shù)級(jí)別,了解如何養(yǎng)成簡(jiǎn)單的習(xí)慣,以及尋找簡(jiǎn)單而有效的解決方案將會(huì)如何幫助我們準(zhǔn)備好應(yīng)對(duì)即將來(lái)臨的變化。大量非常簡(jiǎn)單的慣例有助于促進(jìn)編程,并使應(yīng)用程序準(zhǔn)備好進(jìn)行擴(kuò)展。

  命名慣例(C++ 編程人員的習(xí)性)是最容易的方式。如果您已經(jīng)大量使用了代碼庫(kù)(例如 PEAR),則將其慣例作為自己的慣例可能是個(gè)好主意;否則應(yīng)制定您自己的內(nèi)部規(guī)則。簡(jiǎn)化的匈牙利批注(根據(jù)其匈牙利發(fā)明者 Charles Symonyi 而命名)可在松散類型所允許的范圍內(nèi)廣泛應(yīng)用。您還可以使用下劃線作為類成員的前綴。另一個(gè)有用的習(xí)慣是,向那些并不用于從類外部進(jìn)行調(diào)用的方法(屬于一個(gè)類的函數(shù))附加一個(gè)特殊的前綴(例如 impl_)。

  無(wú)論您采用什么命名慣例,都要盡可能使您的代碼明確清楚。這樣,經(jīng)過(guò)訓(xùn)練的人員就可能在滿屏的 PHP 中發(fā)現(xiàn)編程錯(cuò)誤,只因?yàn)樗瓷先ゾ陀袉?wèn)題,就象肖像上的一個(gè)污點(diǎn)。

  命名慣例的另一個(gè)重要方面是避免名稱沖突,使得在大范圍中重用代碼成為可能。經(jīng)驗(yàn)告訴我們,程序員在命名編程對(duì)象方面并不總是非常富有想像力。很有可能,存在很多的 Page 類,而且也不是沒(méi)有可能當(dāng)您要重用兩個(gè) Page 類時(shí)卻發(fā)現(xiàn),它們只是名稱相同而用途卻迥異。真不夠走運(yùn)的。從長(zhǎng)遠(yuǎn)看來(lái),重命名將會(huì)帶來(lái)維護(hù)問(wèn)題。您最好一開始就避免這個(gè)問(wèn)題。生成 GUID 將會(huì)矯枉過(guò)正、難看(例如 _16B280C5_EE70_11D1_9066_00C04FD9189D_Page?。┎⑶矣秀S?PHP 的精神。

  一種簡(jiǎn)單并可以防止沖突的方法是,通過(guò)將類的幾個(gè)不同方面關(guān)聯(lián)到其名稱中(例如 GalleryPage),確保內(nèi)部類的唯一性;而后,為了消除與您控制范圍之外的類發(fā)生沖突的各種可能,您可以按 Java 的方式將您擁有的域名的保留版本作為它的前綴 (com_mydomain_GalleryPage)。

  要養(yǎng)成的另一個(gè)習(xí)慣不需要您花費(fèi)什么,并且當(dāng)某個(gè)應(yīng)用程序范圍的意外變化不可避免時(shí),它可以節(jié)省您的工作,這就是將最常用的基本語(yǔ)句封裝在一個(gè)單獨(dú)的渠道中。例如,除了調(diào)試代碼,在整個(gè)應(yīng)用程序中只應(yīng)該有一個(gè)“響應(yīng)”語(yǔ)句,它應(yīng)該在某個(gè)函數(shù)(或單獨(dú)的類方法)中。如果某個(gè)新環(huán)境中需要對(duì)輸出進(jìn)行預(yù)處理或重定向,則您知道應(yīng)該將所需的幾行代碼寫在哪里,而不必面對(duì)那種搜索和編輯大量文件的令人沮喪的情況。

  錯(cuò)誤處理不必像 C++ 中那樣嚴(yán)格 — 在 C++ 中,一個(gè)懸空指針 (dangling pointer) 或者緩沖區(qū)溢出可能極具破壞性。當(dāng)沒(méi)有危及數(shù)據(jù)完整性時(shí),試著大方地放下架子告訴訪問(wèn)者,盡管某些功能不太完善,但她可以再試試。一個(gè)經(jīng)常被忽視的好幫手是標(biāo)準(zhǔn)的 set_error_handler() 函數(shù)。這是另一個(gè) — 這次是基本事件 — 封裝到一個(gè)集中位置(其中所有代碼都專門用于處理這些基本事件)的例子。如果您希望保留所有發(fā)生錯(cuò)誤的事件日志,以便找出重復(fù)發(fā)生的問(wèn)題,則應(yīng)該在這里完成這項(xiàng)工作。

  在我們結(jié)束低級(jí)編程討論之前,還有另外一個(gè)救命招術(shù)。在 PHP5 中,缺省情況下,分配或傳遞對(duì)象引用(引用是對(duì)象的句柄,而不是對(duì)象本身或?qū)ο蟮母北荆?。只要我們還需要使用 PHP4,就必須認(rèn)真注意對(duì)象的傳遞方式。某些微妙之處可能使您心神不寧。例如,以下語(yǔ)句導(dǎo)致 $obj2 成為 $obj1 的副本;這并不奇怪。

$obj2=$obj1;

  函數(shù)將使用副本并返回副本,除非另有指定 — 我們只得接受這種情況。以下示例導(dǎo)致很多了難以跟蹤的錯(cuò)誤:

class ObjectKeeper {
    var $_obj; // Whatever object is
    function & get_object() {
        return $this->_obj;
    }
}
//引用可以良好地返回?,F(xiàn)在陷阱出現(xiàn)了:
$keeper = new ObjectKeeper();
$obj1 = $keeper->get_object();
$obj1->modify();
$obj2 = $keeper->get_object(); // Ask new reference to same object
if ($obj2->is_modified()) {
    echo 'OK'; // 這將永遠(yuǎn)不會(huì)打印
}


正確的語(yǔ)句應(yīng)該是:

$obj1=&$keeper->get_object(); // 注意,是“=&”而非“=”

  如果沒(méi)有 =&,則返回的引用所指向的對(duì)象的副本被分配給 $obj1,而無(wú)論您對(duì)您認(rèn)為正確的引用進(jìn)行什么操作,也不會(huì)影響原始對(duì)象的狀態(tài)。換言之,您的更新將會(huì)丟失。

  在協(xié)調(diào) Web 設(shè)計(jì)人員與程序員的文化方面,模板可能會(huì)大有幫助。它們通常包括布局中所配備的一切(主要是 HTML 代碼),而在生成頁(yè)面時(shí),模板引擎填入所有可變的內(nèi)容。大部分模板引擎帶有高速緩存機(jī)制,確保相關(guān)的耗費(fèi)資源的處理只發(fā)生在數(shù)據(jù)源更新要求進(jìn)行這些處理的時(shí)候。

接下來(lái)的步驟


論壇:Oracle 上的 PHP

PHP 漫游者指南

開放源代碼開發(fā)人員中心

Oracle + PHP 疑難解答指南

PHP 腳本編制:隨心所欲的代碼逐漸流行

Oracle + PHP 使用入門

在 Linux 上安裝 Oracle、PHP 和 Apache

  模板引擎允許在相當(dāng)大的程度上將布局和圖形分在一端,將商務(wù)邏輯分在另一端。最流行的模板引擎可能是 Smarty,它也恰好被集成在很多開放源代碼的 CMS 和框架項(xiàng)目中。

  最后,必須注意當(dāng)邏輯超出基本的搜索取代式的替換時(shí),模板引擎傾向于提供編程方言。將來(lái)的方法很可能依靠 XSLT 技術(shù),而 PHP5 中的擴(kuò)展 XML 支持將會(huì)因此而改變很多。

  最后卻是相當(dāng)重要的一個(gè)實(shí)踐方面:從眾所周知的庫(kù)中重用一流的代碼。我們的研究將只限于 PEAR,因?yàn)樗F(xiàn)在是標(biāo)準(zhǔn) PHP 發(fā)行版本中的一部分。

  PEAR 可能目前更接近于真正標(biāo)準(zhǔn)的 PHP 軟件組件。嚴(yán)格選擇提供者以及嚴(yán)格的質(zhì)量標(biāo)準(zhǔn)確保了組件與商業(yè)級(jí)組件一樣優(yōu)秀。版本控制慣例為您提供精確控制,以確定組件的哪個(gè)版本適合于您的應(yīng)用程序。PEAR 提供從表單處理到數(shù)據(jù)庫(kù)抽象層 (PEAR::DB) 等一系列豐富的功能,并包括 Web 服務(wù)或 WebDAV 支持等高級(jí)特性。
  不用說(shuō),通過(guò)熟悉 PEAR 以及類似的 PHP 代碼庫(kù),您可以節(jié)省很多天緊張的研發(fā)工作。

PHP5 呼之欲出

  PHP 已經(jīng)使自己成為最大的開放源代碼成功的故事之一,與 Linux 和 Apache 齊頭并立。盡管尚有不理想之處,但它已經(jīng)在 IT 界牢牢站穩(wěn)了腳跟,并且其龐大的基層用戶群仍然很喜歡它。

  PHP5 可能會(huì)促進(jìn)負(fù)擔(dān)沉重的 Web 應(yīng)用程序的開發(fā),與數(shù)據(jù)庫(kù)進(jìn)行交互作用的業(yè)務(wù)邏輯層越來(lái)越多地接受 PHP 代碼。同時(shí),靈活的編程方法將會(huì)越來(lái)越多地使用 XML 技術(shù),使 Web 設(shè)計(jì)人員更容易與開發(fā)人員和軟件設(shè)計(jì)人員進(jìn)行無(wú)摩擦的協(xié)作。
  我們期待看到新一代非常具有吸引力并且非常好用的基于 PHP 的 Web 應(yīng)用程序。

相關(guān)文章

  • 騰訊QQ php程序員面試題目整理

    騰訊QQ php程序員面試題目整理

    以下題目,除了編程任務(wù)外其他都需要寫在給你提供的草紙上。紙張是珍貴的地球資源,請(qǐng)節(jié)約使用。編程任務(wù)在有相應(yīng)的環(huán)境時(shí),會(huì)要求上機(jī)書寫,實(shí)在沒(méi)有條件,就只能寫在草紙上了。
    2010-06-06
  • smarty+adodb+部分自定義類的php開發(fā)模式

    smarty+adodb+部分自定義類的php開發(fā)模式

    smarty+adodb+部分自定義類的php開發(fā)模式...
    2006-12-12
  • PHP 加密與解密的斗爭(zhēng)

    PHP 加密與解密的斗爭(zhēng)

    PHP代碼的保護(hù)一直是許多公司關(guān)注的核心問(wèn)題,例如知名的一些論壇vBulletin、Discuz!、PhpWind及近日很火的ShopEx等等
    2009-04-04
  • php格式化工具Beautify PHP小小BUG

    php格式化工具Beautify PHP小小BUG

    Beautify PHP is written entirely in PHP. The program was tested with Linux and Windows, PHP 4.1.0 and PHP 4.3.1, but it should work on most systems running PHP.
    2008-04-04
  • dedecms系統(tǒng)常用術(shù)語(yǔ)匯總

    dedecms系統(tǒng)常用術(shù)語(yǔ)匯總

    dedecms系統(tǒng)常用術(shù)語(yǔ)匯總...
    2007-04-04
  • 建站常用13種PHP開源CMS比較

    建站常用13種PHP開源CMS比較

    dedecms很好用,建立模板也很方便,代碼也合理,相對(duì)其它CMS要好得多,最為關(guān)鍵的是開源。,現(xiàn)在網(wǎng)上最熱門,已經(jīng)有不少大站在使用這個(gè)CMS了,中國(guó)站長(zhǎng)站就是使用的這個(gè)CMS。
    2009-08-08
  • php教程 插件機(jī)制在PHP中實(shí)現(xiàn)方案

    php教程 插件機(jī)制在PHP中實(shí)現(xiàn)方案

    PHP中插件機(jī)制的一種實(shí)現(xiàn)方案. 這篇文章的出發(fā)點(diǎn)是我對(duì)插件機(jī)制的理解,及其在PHP中的實(shí)現(xiàn)。此方案僅是插件機(jī)制在PHP中的
    2012-11-11
  • php中并發(fā)讀寫文件沖突的解決方案

    php中并發(fā)讀寫文件沖突的解決方案

    在這里提供4種高并發(fā)讀寫文件的方案,各有優(yōu)點(diǎn),可以根據(jù)自己的情況解決php并發(fā)讀寫文件沖突的問(wèn)題。
    2013-10-10
  • 如何突破PHP程序員的技術(shù)瓶頸分析

    如何突破PHP程序員的技術(shù)瓶頸分析

    身邊有幾個(gè)做PHP開發(fā)的朋友,也接觸到不少的PHP工程師,他們常疑慮自己將來(lái)在技術(shù)上的成長(zhǎng)與發(fā)展,我常給他們一些建議,希望他們能破突自己,有更好的發(fā)展。
    2011-07-07
  • 測(cè)試您的 PHP 水平的題目

    測(cè)試您的 PHP 水平的題目

    測(cè)試您的 PHP 水平的題目...
    2007-05-05

最新評(píng)論

涟水县| 德化县| 沾益县| 都江堰市| 旌德县| 肥乡县| 湄潭县| 濉溪县| 乌鲁木齐县| 来凤县| 西乌珠穆沁旗| 赤水市| 甘孜| 韶关市| 喜德县| 新竹市| 庆安县| 肥东县| 长治市| 辽阳县| 沽源县| 涞源县| 连山| 荣昌县| 湘潭县| 江油市| 利津县| 崇义县| 漯河市| 承德市| 济阳县| 敦化市| 龙胜| 黄浦区| 固始县| 鸡泽县| 榆中县| 保康县| 景泰县| 抚远县| 准格尔旗|