基於Flex與amfphp進行程序開發是一件很酷的事。終於不用再為了界面丑陋而煩惱了。網上對於amfphp與數據庫的連接介紹的很少,英方的資料也不多。
關於amfphp連接數據庫,很多例子給的都是直接在程序進行數據庫連接。這樣在開發大應用的時候,就會有很多問題。多數情況,我們都是集中存放數據庫連接信息。還要考慮不同數據庫間切換問題。不能每個services都寫數據庫的連接。amfphp可以做到這一點。在amfphp中,對於我們連接數據庫來說,最實用的就是它的globals.php文件。在這個文件裡可以設置數據庫的主機、用戶名等全局信息。
有兩三年沒有寫PHP程序了,最近又重新看PHP語言,真是進步很多啊,特別是pdo的加入。
從php5.1開始,php內部默認加載了pdo數據庫操作庫,聽說從php6開始,php只支持pdo進行數據庫的操作。真是一個不錯的發展,終於可以不用面對那麼多不同數據庫操作的方法。
本文介紹的amfphp連接數據庫的方式就是基於pdo進行連接。
1,在amfphp根目錄下globals.php中加入下面的代碼:
define("DB_USER", "root");
define("DB_PASS", "");
define("DB_DSN", "mysql:host=localhost;dbname=test");
define("AMFPHP_SERVICES", realpath(dirname(__FILE__)) . "/services/");
2,在amfphp/services中編寫一個公共的數據庫連接調用程序。
<?php
// 基類
class BaseAction {
var $DB;
function BaseAction()
{
}
function getConn(){
$this->DB = new PDO(DB_DSN, DB_USER, DB_PASS);
}
}
?>
3,編寫你自己的services服務程序。
如,寫一個獲取全部用戶數據的服務
<?php
require_once(AMFPHP_SERVICES."daily/BaseAction.php");
class UserAction extends BaseAction {
function getUsers () {
$sql = 'SELECT * from users';
$this->getConn();
$rs = $this->DB->query($sql);
return( $rs );
}
}
?>
三步簡單搞定,在浏覽器中通過http://localhost/amfphp/browser/測試一下獲取用戶的服務吧。