zend framework 配置连接数据库
Zend_Db_Adapter是zend frmaeword的数据库抽象层api。基于pdo, 你可以使用Zend_Db_Adapter连接和处理多种 数据库,包括:microsoft SQL Server、MySql、SQLite等等。
链接数据库方法一:
要针对不同的数据库实例化一个 Zend_Db_Adapter 对象, 需要
将adapter的名字和描述数据库连接的参数数组作为参数,静态调用
Zend_Db::factory()方法。例如,连接到一个数据库名称为
“camelot”,用户名为“malory”的本地mysql数据库,可以进行如下操作:
<?php
require_once 'Zend/Db.php';
$params = array
('host'
=> '127.0.0.1',
'username' => 'malory',
'password' => '******',
'dbname' =>
'camelot');$db = Zend_Db::factory('PDO_MYSQL', $params);
?>
链接数据库方法二(推荐):
将配置信息写在“.ini”结尾的配置文件中(当然你也可以在xml格式的文件中进行配置,这里介绍ini格式文件的配置),INI
格式在提供拥有配置数据键的等级结构和配置数据节之间的继承能力方面具有专长。配置数据等级结构通过用点或者句号
(.)分离键值。一个节可以扩展或者通过在节的名称之后带一个冒号(:)和被继承的配置数据的节的名称来从另一个节继承。如下面的config.ini
[general]
db.adapter=PDO_MYSQL
db.config.host=localhost
db.config.username=malory
db.config.password=******
db.config.dbname=camelot
或者,在application.ini配置文件中设置MySQL数据库连接:
[production]
resources.db.adapter = "PDO_MYSQL"
resources.db.params.host = "localhost"
resources.db.params.username = "root"
resources.db.params.password = "root"
resources.db.params.dbname = "guestbook"
如果你当前的工作模块是development,则添加到[development : production]下
之后可入口文件index.php调用如下语句,指定数据库Adapter来建立数据库链接:
$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());$dbAdapter->query('SET NAMES UTF8');
Zend_Db_Table::setDefaultAdapter($dbAdapter);
Zend_Registry::set('dbAdapter',$dbAdapter);
这里的Zend_Config_Ini类,允许开发者通过嵌套的对象属性语法在应用程序中用熟悉的 INI
格式存储和读取配置数据。
$dbAdapter=Zend_Db::factory($config->general->db->
adapter,$config->general->db->config->toArray());这一句创建数据库适配
器,里面的两个参数分表表示:$config->general->db->adapter取出的值就是上面config.ini文件
配置的PDO_MYSQL,而$config->general->db->config->toArray()这一句则将
host,username,password,dbname作为数组的形式。
Zend_Db_Table::setDefaultAdapter($dbAdapter);这一句设置表的默认适配器,除非你特别指定,否则所有的zend_db_table类实例都会使用默认adapter。
Zend_Registry::set('dbAdapter',$dbAdapter);
则是在注册Adapter,Zend_Registry,对象注册表(或称对象仓库)是一个用于在整个应用空间(application
space)内存储对象和值的容器。通过把对象存储在其中,我们可以在整个项目的任何地方使用同一个对象。这种机制相当于一种全局存储.
我们可以通过Zend_Registry类的静态方法来使用对象注册表,另外,由于该类是一个数组对象,你可以使用数组形式来访问其中的类方法,例如:$value
= Zend_Registry::get('dbAdapter');
zend framework 配置连接数据库的更多相关文章
- Zend Framework 框架搭建
通过手工方法搭建Zend Framework的MVC框架结构.首先看一下zend framework mvc的目录结构 1. 在根目录下面创建 public ,并在 public 下创建 index. ...
- zend framework多模块配置
上次接触zend framework已经很久远了,10年的事情了.最近在做一个项目,时间不紧,就又把ZF拿出来折腾.而我发现以前做ZF的记忆已经在我脑中如梦幻泡影,消失无踪,为了配置多模块还又去查了资 ...
- zend framework 1.10项目配置与经典hello world
准备工作 前置条件:PHP>=5.14,Apache开启mod_rewrite支持,开启php的pdo扩展. Zend Framework 要求 PHP版本不低于5.1.4,但强烈建议使用 5. ...
- zend framework多模块多Layout配置
转自: http://blog.csdn.net/a82168506/article/details/10228011 上次接触zend framework已经很久远了,10年的事情了.最近在做一个项 ...
- Zend Framework Module之多模块配置
摘要:该文将为大家简单介绍一下如何使用zend framework创建模块化的应用程序. zend framework对多模块的支持是很好的,但是可能是由于功能太过强大的缘故,部署起来并不是很容易.许 ...
- Zend Framework(一) windows8.1下配置zend framework1.12
windows8.1下配置zend framework1.12配置步骤: 1. 下载 zend framework1.12库 2. 创建zend frameworkproject 2 ...
- Zend Framework 1 - Quick Start
创建 Zend 项目 要创建 Zend 项目,首先要下载并解压 Zend Framework. 安装 Zend Framework 下载最新的 Zend Framework 1.12.20 源码包,( ...
- Ubuntu14.0下安装Zend Framework 2
Ubuntu14.0下安装Zend Framework 2为了安装这个东西,忙活了快一天了,参考中文博客一直没有安装成功,有些博客的时间也是已经很早了,后来google看英文版的才安装成功,这里记录一 ...
- 搭建PHP官方框架zend framework 2(LINUX)
在五花八门的语言里,PHP作为我第一个觉得欣赏的理由,就是它的简单和快捷,因为它封装了许多的常用函数.PHP作为网站中一种算作比较流行的语言,也产生各种优秀的框架.我所接触过的有zend framew ...
随机推荐
- Reverse complement DNA
用法:python rev_comp.py input.fa out.fa 输入文件为 fasta 格式文件,若输入文件中序列的 header 有 '+' 或 '-' 号标记正负链,则带有 '+' 的 ...
- L6,Percy Buttons
expressions: knock at敲打 knock off 碰掉,I knock the vase off the table 下班,He always knocks off six o'cl ...
- ViewPager滑动标签-PagerSlidingTabStrip的使用
有篇博客写的已经非常详细,所以不再写了.主要在于导入这个Library,导入Library看自己的笔记 博客地址:http://doc.okbase.net/HarryWeasley/archive/ ...
- Android Studio的使用(十)--读取assets、Raw文件夹下文件,以及menu、drawable文件夹
1.直接在/src/main目录下面新建assets目录 2.接下来即可读取文件 3.读取Raw文件夹下文件也类似.首先在res文件夹下新建raw目录,然后放入需要的文件即可读取. 4.menu和dr ...
- Eclipse中代码提示框的背景色修改
Preferences->General->Appearance->Colors and Fonts 修改Basic中的Content Assist backgroud color[ ...
- 转 Fragment 和 FragmentActivity的使用
今天学习下 Android中的 Fragment 和 FragmentActivity,因为没有4.0手机,平台是2.3.3 所以我是使用 v4 support 包来进行学习. 要想用Fragment ...
- (转)hadoop三个配置文件的参数含义说明
hadoop三个配置文件的参数含义说明 1 获取默认配置 配置hadoop,主要是配置core-site.xml,hdfs-site.xml,mapred-site.xml三个配 ...
- Struts2升级出现的问题
由于大家都懂的原因,涉struts2的项目需要将struts2相关包升级至2.3.15.1.今将升级方法和常见问题解决简单总结如下. 一.基本升级操作 1. 获取Struts2.3.15.1jar包 ...
- Button MouseEvent颜色变化
public partial class Form1 : Form { public Form1() { InitializeComponent(); this.button1.Enter += bu ...
- 两列布局,读《css那些事儿》
两列布局: 1.两列定宽: 要点:float.width固定. :after清除浮动. 前提:两列的盒模型宽度相加不能大于父元素的宽度,否则会出现错位现象. <!DOCTYPE html> ...