使用 PHP 判斷 jQuery 傳來的 AJAX 請求類型

今天看到 Detecting Ajax Events on the Server 這篇文章中提到一個有趣的好方法,當jQuery送出AJAX請求時會附上 X-Requested-With 請求檔頭,其值為「XMLHttpRequest」。

依據該文的描述在PHP中我們可以透過判斷 X-Requested-With 請求檔頭來分辨現在的請求是不是AJAX請求而給予不同的回應。

但這樣的判斷似乎不夠完整,在某些時候我們可能需要更進一步的判斷,jQuery所提供的AJAX方法不僅可以指定回傳的格式,它在送出AJAX請求時也會根據指定回傳格式的不同而傳出不同的Accept請求檔頭,因此在相同的概念下進一步聯想,其實我們還可以透過「Accept」請求檔頭來分辨現在的請求是什麼樣的類型。
繼續閱讀… »

Lazybones PHP 開發框架 0.1 釋出

最近因為需求而開始嘗試尋找一個合適的PHP開發框架,了解過幾個知名的框架之後發現每個框架都有其優點,但卻沒有符合我需求的框架,於是就便自行寫了一個開發框架,我把它命名為 Lazybones。

最後我決定以 new BSD license 釋出,希望可以讓有相同需求的人多個選擇。

繼續閱讀… »

網頁使用特殊字型的解決方案

字型的兼容對於網頁設計而言是一個很頭痛的問題,如果在網頁中使用特殊字型,而訪客的電腦中沒有安裝這個字型,將會因為無法正確顯示字型而導致網頁的設計走味。因此一般在設計網頁的時候只能選擇通用的字型,如:Verdana, Geneva, sans-serif,Georgia這些芭樂到不行的字型,結果是可能會讓外觀大打折扣。

繼續閱讀… »

CSS撰寫的新觀念

CSS是一個令人又愛又恨的樣式定義語言,除了有跨瀏覽器的問題,寫起來也是又臭又長又麻煩,於是我曾經尋找過一些CSS的解決方案,找到過一些純CSS的Framework,這些都不太能夠被我接受,因為那些Framework僅僅是定義一些通用的語法,彈性並不是很高,寫起來也不是很符合CSS的概念及原則,但最近一連串發現一些還算新的CSS編寫觀念及Framework,以程式語言的概念多加入一個編譯層使CSS的撰寫更人性化。

繼續閱讀… »

CSScaffold - 幫助建構複雜CSS的「鷹架」

今天發現一個好用的CSS的開發框架 - CSScaffold,瞭解完這個東西之後,我的感覺就如同官方提到的一句話「Simple, but powerful」,它是一款幫助撰寫CSS的快速開發框架,不同於許多CSS框架,它必須依靠PHP與Apache的mod_rewrite來執行,但也因為需要這兩種東西,讓CSScaffold變得很神奇、很方便,寫起CSS來又快又輕鬆!

繼續閱讀… »

[翻譯]如何使用單例設計模式(Singleton design pattern) for PHP

今天在找單例設計模式(Singleton design pattern)或稱單例模式(Singleton Pattern)的名詞解釋資料時,找到了一篇「How to use the Singleton design pattern」。

該作者使用簡短的描述、簡潔的範例,清楚的闡明單例設計模式的概念與使用方式,我覺得這篇文章很容易懂,很值得參考,因此將其翻譯成中文,由於我的英文能力不好,翻譯上若有謬誤的地方,還請多多指教。

繼續閱讀… »

解決 PHP4 需要使用 json_encode 的問題

PHP 5.2 之後才支援 JSON functions,如果要在PHP4中直接使用PHP5的 json_encode 與 json_decode,可以使用以下方法:

1. 下載梨子的JSON class,壓縮檔裡面有個JSON.php,不用安裝,直接放到相對應目錄底下即可。

http://pear.php.net/package/Services_JSON/download

繼續閱讀… »