Matt Wilkin 看到後一時手癢,在他自己的網誌上寫下了詳細的題解,你不妨也測試一下自己的 PHP 就經到達了哪一個水平。我們會把這 22 道題目連同 Matt Wilkin 的提解分開數部份譯載,每一部份的都會先列出題目,題解會寫在後面,第二部份、第三部份和第四部份也已經刊登。
Cute Editor for PHP 新推出了 6.0 版本,這是一個「所見即所得」(WYSIWYG)的線上 HTML 編輯器,PHP 應用開發人員可以藉著它把傳統的 HTML textarea 換成一個功能強大的所見即所得內容編輯器,這個編輯器可以在多種瀏覽器上運行,包括 IE、Firefox、Mozilla、Netscape、和 Safari,在無數免費的線上 WYSIWYG 編輯器可供下載的情況下,以港幣一千元購買這個編輯器是否值得呢?
Nexen 發表了 20076 年 7 月份的 PHP 使用統計,他們調查了 1,120 萬個伺服器,涵蓋了 240 萬個 IP 地址,刪除沒有架設網站、無法聯絡、網絡服務供應商和使用 domain parking 的網域後,共有 2,610 萬個網站參與了這次統計,內容摘要如下,統計的方法可參閱 la section phpversion。
PHP Documentorr 是一個自動從原碼抽取注釋,然後產生 API 說明檔的工具,功能跟 Java 世界的 JavaDoc 差不多,分別是 PHP Documentor 是用 PHP 寫成。它的輸出檔案包括 HTML、PDF、CHM 和 XML DocBook,使用 Smarty 產生輸出檔案,所以改變輸出的排版格式十分簡單容易,所有原碼都有語法醒目顯示。使用方面,PHP Documentor 可以透過命令行或者網頁介面操作,運作速度極快。兼容 PHPXRef 和 JavaDoc 的注釋標籤,另外又有它自己的定義的標籤,構成功能強大的文檔產生工具。
PhpWebApp 是一個應用開發架構,使得開發以關係數據庫為基礎的 PHP 網頁應用程式更加容易和簡單。它透過從 XHTML 延伸出來的 XML 模板,把設計和改變佈局的工作,從邏輯的實作中分割開來。它也藉著提供事件為本的編程模式,簡化應用程式邏輯的實作。此外,PhpWebApp 力求為網頁應用開發人員提供模塊化和代碼重用。
這一次是真正的官方消息了── PHP.net 剛剛宣布 PHP4 只會開發至 2007 年年終,此後 PHP4 便不再會有新版本,即使是嚴重安全性補丁,也只會支援至 2008 年 8 月 8 日!
Nexen 發表了 2007 年 6 月份的 PHP 使用統計,他們調查了 1,090 萬個伺服器,涵蓋了 240 萬個 IP 地址,刪除沒有架設網站、無法聯絡、網絡服務供應商和使用 domain parking 的網域後,共有 2,550 萬個網站參與了這次統計,內容摘要如下,統計的方法可參閱 la section phpversion。
有沒有想過嘗試一下最新的 PHP 功能?我們在 PHP 的下載頁面可以找到 PHP 的原始碼,只要配置好安裝設定檔,準備好所需的編譯工具,便可以製作一個屬於你的 PHP,你可以自行決定需要甚麼模組,不需要甚麼模組,怎樣優化程式碼,甚至安裝補丁,測試最新的版本和功能。
又一個「十大排名榜」,這一個由 Jehzeel Laurente 列出的十大 PHP MVC 開發架構,是作者根據他的個人經驗和喜好選取的,其中有一些是響當當的著名牌子,也有一些較冷門的架構。
PHP Hacks 有一篇報導介紹 PHP 6.0 將會有甚麼轉變,其中包括放棄三項最令人困擾的功能:register_globals、magic_quotes_gpc 及 safe_mode。第一項會引起巨大的安全漏洞,第二項會使數據混亂,也令到搬遷伺服器時產生不必要的困難,最後一項經常被人誤解,它的名字令人產生安全的錯覺。
HKPUG 經常報導專家們提出有關 PHP 安全性的忠告,其實很多忠告都是幾乎「常識」的水平,即使沒有專家的提點也不應該觸犯,但是我們仍然不斷在討論區見到網友編寫漏洞百出的 PHP 程式,看得人觸目驚心,這裏我們再次介紹一篇有關 PHP 安全性的建議。
PHP DocWriter 是一個用來產生 OpenOffice.org XML(即 StartOffice/OpenOffice.org 文件)的 PHP 類別(class),它也可以直接聯繫 OpenOffice 應用程式來進行檔案格式轉換,把 OpenOffice.org XML 檔案轉換成任何 OpenOffice 支援的格式。
在 Turn up the Crank 有一位作者分享他使用 PHP5、Sqlite、Windows 的經驗。作者需要一個數據庫儲存資料,由於涉及的資料處理工作很簡單,所以他選擇了 Sqlite,結果他發現:
Nexen 發表了 2006 年 8 月份的 PHP 使用統計,他們調查了 1,100 萬個網域,刪除沒有架設網站、無法聯絡、或者使用 domain parking 的網域後,共有 820 萬個網站參與了這次統計,內容摘要如下,統計的方法可參閱 la section phpversion。
Jacques Noah 在 Dev Shed 發表了一篇 PHP 教學文件,介紹如何利用 PHP 來讀取、寫入和建立檔案。Jacques 從 Windows 和 Unix 環境下檔案的權限開始,然後利用大量例子和說明來講解如何透過 PHP 來讀取、寫入和建立檔案的步驟,也說明在多人編輯同一個檔案的情況下,如何鎖著檔案以防止衝突。
Hardened-PHP 最近推出了 Suhosin 測試版(beta version),這是一個從原始碼層面提升 PHP 安全性的系統,所以不論是已知和尚未發現的安全性漏洞,不論這些漏洞出現在應用程式還是在 PHP 的核心部分,Suhosin 的安全關卡都可以防止這些漏洞做成破壞。
Dennis Pallett 在 PHPit 發表了第二篇利用 PHP 和 GD Library 處理圖像的教學文件,HKPUG 曾經介紹過這個主題系列的第一篇文章,繼承第一篇的基礎知識,第二篇文章將介紹不同的放大縮小圖像方法、加添水印的技巧等。
這個標題沒有惡意,只是用來吸引大家的注意力,文章的作者 Stefan Mischook 在他的網誌比較了 Ruby 和 PHP 兩種經常被人拿來比拼的網頁開發語言,事實上一些 PHP 社群對於 Ruby 近年推出的優秀(但並不完美)開發架構 Rails 有一點恐懼,藉著 Rails 的關係 Ruby 的普及程度大幅提高,對 PHP 構成一定的威脅。所以 Stefan 嘗試解答「PHP 會被 Ruby 殺死嗎?」
Stefan Mischook 在他的網誌說,設計式樣(design pattern)本身並不壞,只要用在恰當的地方,他說:「我們沒有理由用一部十八輪大卡車來拖動一張椅子。」他觀察到自從 PHP5 推出後,整個社群逐漸向著高階的編程技術發展,例證包括廣泛地使用物件導向概念和設計式樣。常用的設計式樣包括:
數據庫跟其他工具一樣,若果不正確地使用,很容易出現濫用的情況,Jack Herrington 在一篇文章中說,你可以在 PHP 應用程式中建立數據庫、存取資料,然後在其上編寫商業邏輯,達成這些目標很有方法,可惜很多人仍然把事情弄糟。在這篇文章中他闡述數據庫設計,和存取數據庫的 PHP 程式的五種常見毛病,還有如何避開這些毛病,文中並附有大量實例。這五種毛病是:
John Taber 承認網絡上已經有很多開發架構的宣傳和喧鬧聲,但是他仍然要在他的網誌中問:「我們需要開發架構嗎?」他還提出了其他問題,包括「一個網絡程式應該具備怎樣的結構?」、「怎樣才能輕快而有效率地完成工作?」他經過詳盡的研究後把意見按發表者的性格分為三類:豪情蓋天的開發人員、Rails 的忠實支持者、有實力的應用程式開發者。他認為自己正是第三類人,就是那種不在乎甚麼語言、甚麼架構,最重要把事情做好,程式容易維護,與及可以把成品儘快推出市場的開發策略,這類人需要的正是開發架構。
「設計樣式」(design pattern) 這個概念最早是由軟件界「四大寇」(即 Erich Gamma, Richard Helm, Ralph Johnson, 和 John Vlissides)所撰寫的 Design Patterns 中提出,軟件開發者累積多年的經驗,知道在某些特定的情況下使用特定的技巧,可以得到最有效率和最好的結果,這些標準技巧就是所謂的「設計樣式」。
Nexen 發表了 2006 年 6 月份的 PHP 使用統計 ,他們調查了 1,100 萬個網域,刪除沒有架設網站、無法聯絡、或者使用 domain parking 的網域後,共有 550 萬個網站參與了這次統計,內容摘要如下,統計的方法可參閱 la section phpversion。
Steven Choy 在他的個人網頁介紹三個由 PHP 開發與及使用 MySQL 的免費 FAQ 系統,透過 Google 他搜索到一些使用這三個系統的網站,可以讓我們實在地看一下這幾個系統的使用情況。Steven 說:
OWASP 發表了一篇名為 PHP Top 5(PHP 五大常見保安問題)的文章,SANS Top 20 2005’s PHP Section(2005 年度 SANS 互聯網 20 大安全漏洞 PHP 章節)就是根據這一篇文章的研究而寫成,研究的方法是在 Bugtraq 上搜尋所有包含 PHP 的文章,對每一個個案進行分析及分類,然後作者列出五大最常見的保安問題,與及他們的預防方法,在文章的末尾做這還列出了一些參考資料,對於編寫安全堅固的 PHP 應用程式很有幫助。
IBM 的 developerWorks 有一篇介紹如何使用 PHP 和 Sajax 來編寫簡單應用程式的教學文件,很多人對 Ajax 這種嶄新的網頁技術都認識不深,實際運用它來編寫網頁的更少,這篇文章透過建立一個簡單的相簿系統,從純粹使用 PHP 開始,逐步加入 Ajax 功能,中間加插對 Ajax 的介紹,使讀者明白 Ajax 的特色,它如何突破了傳統的網站設計理念,怎樣在實際的設計中加入 Ajax 的元素。
若果說每隔幾天便有一個新的 PHP 的開發架構推出,一點也不誇張,網上也有不少討論哪些架構「最好」,哪些最受「歡迎」之類的文章,但是對於如何選擇一個合適你的架構卻鮮少論及,針對這個問題 Marz 提出了他的見解。
在 thecssweblog 有一篇由 Amber Rhea 寫的有關使用 PHP 來動態控制 CSS 的文章。文章引述 Patrick Fitzgerald 另一篇有關使用 PHP 來控制顏色的文章。
PHP Class Repository 的創辦人 Manuel Lemos 在他的網誌寫了一篇長文,提出一些選擇架構的忠告,也解釋了為何有些架構比其他架構更受歡迎,受到更廣泛的注意。最後他列出了一串架設 PHP Class Repository 的程式包。
根據最新一期 Tiobe Programming Community 的報告,PHP 在最受歡迎編程語言排行榜已經追貼 C++,有望進入頭三名的位置,頭兩名分別是 Java 和 C,落後在 PHP 和 C++ 後面的是 Visual Basic 和 Perl。
Nexen 發表了 2006 年 4 月份的 PHP 版本安裝統計 ,他們調查了 7 千 7 百萬個網域,刪除沒有架設網站、無法聯絡、或者使用 domain parking 的網域,共有 770 萬個網站參與了這次統計。