前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Zend_Config使用笔记

Zend_Config使用笔记

作者头像
苦咖啡
发布2018-05-08 16:58:49
6630
发布2018-05-08 16:58:49
举报
文章被收录于专栏:我的博客我的博客

1.zend_Config被设计在应用程序中简化访问和使用配置数据。它为在应用程序代码中访问这样的配置数据提供了一个基于用户接口的嵌入式对象属性。配置数据可能来自于各种支持等级结构数据存储的媒体

// 给出一个配置数据的数组 $configArray = array( ‘webhost’ => ‘localhost’, ‘database’ => array( ‘adapter’ => ‘pdo_mysql’, ‘params’ => array( ‘host’ => ‘localhost, ‘username’ => ‘dbuser’, ‘password’ => ‘secret’, ‘dbname’ => ‘mydatabase’ ) ) );

// 基于配置数据创建面向对象 $config = new Zend_Config($configArray);

// 输出配置数据 (结果为’localhost’中) echo $config->webhost;

// 使用配置数据来连接数据库 $db = Zend_Db::factory($config->database->adapter, $config->database->params->toArray());

// 另外的用法:简单地传递 Zend_Config 对象。 // Zend_Db factory 知道如何翻译它。 $db = Zend_Db::factory($config->database);

PS:还可这样使用 // config.php return array( ‘webhost’ => ‘localhost’, ‘database’ => array( ‘adapter’ => ‘pdo_mysql’, ‘params’ => array( ‘host’ => ‘localhost’, ‘username’ => ‘dbuser’, ‘password’ => ‘secret’, ‘dbname’ => ‘mydatabase’ ) ) ); 然后$config = new Zend_Config(require ‘config.php’);

2.理论

配置数据在Zend_Config构造器通过关联数组(associative arrary)可访问,为了支持从通用到特殊组织数据,它可以是多维的。具体的适配器类函数为Zend_Config的构造器从存储到处理关联数组来适应配置数据。配置数据通过Zend_Config可用是只读的! Zend_Config函数家族把配置数据组织成节(section)。Zend_Config适配器对象可以带一个指定的节加载,或者带有多个指定的节,或者所有节(如果没有指定)。 这里说的节就是config/application.ini内容中 [mysql] db.adapter=PDO_MYSQL db.params.host=localhost db.params.username=root db.params.password=Joyous db.params.dbname=test db.params.charset=utf8 注意这里的属性是固定内容

3.Zend_Config_Ini

我们开发和上线的产品使用的数据库是不一样的,这个时候就显示了这个Zend_Config_Ini的威力 比如 ; 上线数据库 [production] webhost = www.0377joyous.com database.adapter = pdo_mysql database.params.host = localhost database.params.username = root database.params.password = 123456 database.params.dbname = production

; 开发站点配置数据从生产站点配置数据集成并如果需要可以重写 [staging : production] database.params.host = localhost database.params.username = test database.params.password = 123 $config = new Zend_Config_Ini(‘/path/to/config.ini’, ‘staging’); 这样我们会在开发的时候加载了[staging : production]来覆盖掉上面的配置production

4.Zend_Config_Xml(使用基本和Zend_Config_Ini雷同,具体可以参考手册)

附:在使用Zend_Config_Ini经常我们看到DIRECTORY_SEPARATOR这个常量和constant其中DIRECTORY_SEPARATOR是代表分割符号(在windows和linux是不一样的)constant是返回常量值 realpath是将路径转换成绝对路径(也就是文档在硬盘上存放的距离位置)

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2013年2月1日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
数据保险箱
数据保险箱(Cloud Data Coffer Service,CDCS)为您提供更高安全系数的企业核心数据存储服务。您可以通过自定义过期天数的方法删除数据,避免误删带来的损害,还可以将数据跨地域存储,防止一些不可抗因素导致的数据丢失。数据保险箱支持通过控制台、API 等多样化方式快速简单接入,实现海量数据的存储管理。您可以使用数据保险箱对文件数据进行上传、下载,最终实现数据的安全存储和提取。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档