基于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);
}
}
?>
// 基类
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/测试一下获取用户的服务吧。
本文介绍如何使用AMFPHP结合PDO简化数据库连接过程。通过配置globals.php文件中的数据库参数,并创建公共数据库连接类,使得在开发大型项目时能够方便地调用数据库服务。
163





