2009年1月21日 星期三

MySQL 好用物件分享

這MySQL物件可以以空間換時間
提供資料庫快取,減少等待


http://www.ziddu.com/downloadfile/3252813/mysql.class.rar.html

2009年1月20日 星期二

MySQL query cache

最近想弄一個自己的MySQL Class

在找資料時發現有人已經寫好

所以就不用自己動手了

[sql tech.] 筆記 - 對你的 Query 作快取

[php tech.] mysql 自製類別 (mysql.class.phpm)

[php tech.] mysql 自製類別 (mysql.class.phpm)

判斷是否在時間範圍內

/***************
判斷是否在時間範圍內

***************/
//time()函式會回傳UNIX時間戳記
//strtotime()可將時間字串轉為UNIX時間戳記
$start = "2009-1-31";
$end = "2009-2-14";
$ustart = strtotime($start);
$uend = strtotime($end);
$now=time();
if($now > $ustart && $now < $uend)
{
echo '在時間範圍內';
}else{
echo '不在時間範圍內';
}

2008年8月4日 星期一

PHP資源蒐集

php資源蒐集(持續蒐集中)

有好的程式碼,有如在蚌中養珍珠一樣持續的蒐集
可以煉出程式碼的美麗(龐大>美麗>簡單),簡單的
程式碼通常是不容易閱讀的。

國外
http://freshmeat.net/


http://php.resourceindex.com/


http://www.devshed.com/

臺灣
中國

2008年7月31日 星期四

2008年5月20日 星期二

Cakephp 簡明指南

Cakephp 簡明指南

作者注:這個指南並非出自Cakephp的開發人員,也沒有從他們那裏得到認可。我撰寫它是因為我最近發現Cakephp ,有了很多疑問。我想其他人可能也遇上了這類問題。

什麼是Cakephp?

Cakephp是一個php框架,就如同Rails對於Ruby。本質上講,它是php開發人員避免重複做輪子的一個工具。

Cakephp會對我有説明嗎?

Cakephp會對你有幫助,如果:

你喜歡ruby on rails 的靈巧和高效;

你已經瞭解了php 並且沒時間去學習另一門語言;

你已經厭倦了編寫定制的代碼去做非常類似的事情;

你使用共用主機;

你想用少的時間去做多的工作;

你想使用模版;

你想用美觀、方便搜索的urls 而不是像這樣的 .php?id=12345678

你不想使用命令行方式;

你只有一個 mysql 資料庫。

Cakephp Rails 的優劣比較?

Cakephp像其他框架那樣遵循了MVC模式。我想這樣說是公平的,其開發者受到了Rails的啟發。然而,因為php不同於Ruby, 這兩個框架沒法直接比較。在我看來 Rails 的創意很好,但你需要學習一門新的語言並且需要獨立主機。換句話說,使用Cakephp使你可以繼續留在熟悉的編程環境,使用共用主機的同時利用框架的帶來的便利。

Cakephp能為我做什麼?

很容易地實現內容的管理(增加,更新,刪除)

使用模版樣的佈局和視圖來分離邏輯與表現

表單字段的有效性檢查

避免資料自動存入資料庫(阻止SQL注入式攻擊)

包含了回滾功功能(比如,在保存資料前或後執行某個行為)

測試資料庫的同時正式使用資料庫

使用Cakephp的前提條件?

任何安裝了Apachephp 4.3.2或以上版本、 MySQL 的伺服器。如果mod rewrite 可配置,那麼讓你將獲得美觀的urlsCakephp同樣可以運行在IIS上。

我自己能安裝Cakephp嗎?

可以,只需將它ftp上傳。你就可以運行Cakephp不需要對伺服器作任何配置變動。

我需要進入命令行嗎?

不需要。

什麼是scaffolding Cakephp能做到嗎?

從本質上說,scaffolding意味著你可以在資料庫結構之上運行script,它能自動產生基本的內容管理(比如web表單)。是的,Cakephp可以做scaffolding

包含ajax功能嗎?

是的,Cakephp包含Ajax功能。

我如何在Cakephp中使用CSS, Javascrip及別的的要素?

你可以將所有非Cakephp檔保存在另外的目錄裏。

好的,我需要Cakephp

CakeForge下載最新版本

所有程式員都應該知道的5個套件(轉)

在參與了幾個大型PHP項目,寫了很多PHP代碼以後,我發現很多工具可以提高代碼品質,簡化發佈,使得做為PHP開發人員的生涯變得輕鬆許多。許多這樣 的工具可能已經為大家所用。但是,由於一些人甚至沒有注意到這些工具的存在,我會從此開始,好了,不說廢話,下面是我認為所有PHP程式師應該知道的工具 列表。

Phing - 一個專案構建系統

Phing LogoPhing 是一個基於Apache ANT 的專案構建系統。它的名字是一個拗口的語句首字母縮寫 - PHing Is Not GNU make Phing可以做傳統構建系統比如 GNU make 能做的任何事情,同時沒有陡峭的學習曲線。

phing(以及其他的構建系統)背後的思想是評估一系列相關性,然後執行一系列PHP類去正確的安裝和配置一個應用系統。構建過程用一個簡單的 XML配置檔控制。Out of the box, phing內置可以執行一系列替換(比如:在你的開發版本和產品版本間改變include路徑)、執行SQL語句、移動和複製檔、運行外部腳本等等。通 過擴展包含在發行包中的“task”類,你也可以創造自己的定制任務。

對任何需要在超過一台伺服器上部署大型PHP應用的人來世,Phing是一個無價之寶。同時我發現它對簡單的PHP腳本也是很有用的。

Xdebug - 調試和分析工具

Xdebug LogoXdebug 是幫助你調試和分析腳本的一個PHP擴展。Xdebug中最有用的特性是在啟動後顯示的新注意資訊、警告資訊和錯誤資訊。如果一個腳本不能正常運行,Xdebug將會輸出關於錯誤資訊的完整堆跟蹤 ,會附帶函數名稱、參數值、原始檔案和行號。這對於厭倦了PHP默認只帶的可憐的錯誤報告功能的程式師是一個值得歡迎的特性。

這個擴展有很多更先進的功能,允許開發人員進行代碼覆蓋率分析,收集分析資訊以及互動式地調試腳本。profiling functionality 功能尤其有用。分析器使用一個普通的輸出檔格式,允許你使用象 KCacheGrind 這樣的工具快速發現你代碼中的瓶頸。對任何嚴肅的開發人員而言,一個好的分析器是基本工具,它使得你妥善優化你的代碼,同時避免過早優化帶來的危害

PHPUnit - 單元測試框架

PHPUnit logoPHPUnit 是一個羽量級的PHP測試框架。它是在PHP5下麵的 JUnit 3.8.1 完整移植,是xUnit 測試框架家族的一員(它們基於軟體模式 先鋒 Kent Beck 的設計)

單元測試是幾個現代敏捷開發方法的基礎,使得PHPUnit成為許多大型PHP項目的關鍵工具。這個工具也可以被前面討論的Xdebug擴展用來生成代碼覆蓋率報告 ,並且可以與phing集成來自動測試。

Propel - ORM(物件關係映射)框架

Propel LogoPropel是一個PHP5下面的物件關係映射(ORM)框架,它起源於Apache Torque項目。它提供了一個複雜但是易用的資料庫抽象層,使得你可以在PHP中象使用普通類和物件一樣得使用資料庫實體。Propel允許你使用一種簡單的XML格式定義你的資料庫,這個XML檔被用來映射資料庫,生成應用中使用的靜態類。

Propel被內嵌於流行的Symfony PHP框架 (還有其他的),它使得代碼更靈活、模組化以及可移植。這個項目有The project has 出色的文檔,以及很棒的支持社區。

phpMyAdmin / phpPgAdmin - 基於web的資料庫管理系統

phpMyAdmin Logo歷史有點長可是還是很有用,phpMyAdmin是對於任何資料庫(對應PostgreSQLSQLitephpPgAdmin phpSQLiteAdmin)最有用的管理工具之一。它有助於做每一件事情 - 從為了調試應用去創建和刪除資料庫到做備份。安裝它通常是我在一個LAMP伺服器上面安裝完 Apache, PHPMySQL後做的第一件事情。如果你使用MySQL,不知何故還沒聽說過它,那麼現在就安裝