2009年12月25日 星期五

Zend FrameWork的交易

$this->db->beginTransaction();

try {

//執行SQL語法

$this->db->insert('dbname' , array('欄位1' => '值1'));
$this->db->insert('dbname' , array('欄位2' => '值2'));
$this->db->insert('dbname' , array('欄位3' => '值3'));
$this->db->commit();//成功就執行
}catch (Zend_Db_Exception $e){
$this->db->rollback();//失敗就回去上一步
throw $e;

}

2009年12月13日 星期日

PHP的框架及ORM框架

PHP框架

CoreMVC官方網站
CodeMVC_google

fleaphp

ThinkPHP

CakePHP

CodeIgniter


EasyFramework


戲法人人會變,看你喜歡用哪一種摟

最近在看阿六文章

有段玩笑話說
使用Zend就像加入共產黨
FleaPHP像是改革開放
ThinkPHP開始實施共產主義
所有都試過後發現無黨派的最自由

PHP的ORM框架

doctrine

ZendFramework資料庫的設置

ZendFramework設定資料庫時config.ini,跟ROR一樣有個專門的設定檔

[general]
db.adapter=PDO_MYSQL //使用PDO的MySQL接口
db.config.host=localhost //MySQL的主機IP
db.config.username=root //填入資料庫的使用者
db.config.password= //填入資料庫的密碼
db.config.dbname=zendoophp //填入使用的資料庫名稱



然後在單一進入點的index.php
註冊這組設定
$config=new Zend_Config_Ini('./application/config/config.ini',null, true);
Zend_Registry::set('config',$config);

$dbAdapter=Zend_Db::factory($config->general->db->adapter,
$config->general->db->config->toArray());

設定資料庫接口從Zend_Db::factory(接口,設定陣列);

$dbAdapter->query('SET NAMES UTF8');
先送出一個SQL,將資料庫的連線語系設定為中文

2009年11月29日 星期日

如何動手學程式

如何動手學程式以PHP為例

其實PHP有著溫和的學習曲線
可以提供對有興趣的程式設計者
有不錯的信心。

2009年10月22日 星期四

如何在Aptana設定SFTP



先開啟一個PHP專案











填入專案名稱


完成專案新增後,在專案的名稱按右鍵










選擇SFTP



設定好SFTP,這樣就能按Ctrl+S存檔的時候自動上傳



如果選自動上傳SFTP有問題可以參考



開啟 Aptana 的 upload current file on save
http://www.joehorn.idv.tw/archives/2009/09/04/631/

2009年10月19日 星期一

跨網域狀態傳遞(使用者認證)

在PHP所寫的程式中,因為Http是無狀態的請求,往往許需要藉助cookie或session來記錄使用者資訊
基於安全性考量,PHP預設cookie的使用範圍只能在網站本身的網域使用如(aaa.omusico.net),如果
想要在(bbb.omusico.net)上也能讀到那支cookie也能紀錄的狀態,setcookie ("TestCookie", "", time() - 3600, "/", ".omusico.net", 1);可以將cookie的domain指定到更上一層。

如果要在跨網域中共用session,要注意Session是存在於server所以兩台主機間必須共享存Session的
檔案空間並在PHP.INI中修改session儲存位置,或是使用mencache、fastdht甚至是facebook貢獻的hive

PS:修改php.ini 內 session.use_cookies將1設定改為0將會使用網址傳遞

PHP各資料庫的管理

PHP不只有PhpMyAdmin可以管理MySQL

也可以使用phpMSAdmin來管理MSserver

http://sourceforge.net/projects/phpmsadmin

也可以用phpPgAdmin來管理PostgreSQ

http://phppgadmin.sourceforge.net/