位置: 编程技术 - 正文

Zend Framework教程之Zend_Registry对象用法分析(zendframework3)

编辑:rootadmin

推荐整理分享Zend Framework教程之Zend_Registry对象用法分析(zendframework3),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:framework在哪里打开,framework4.0怎么打开,zend framework手册,zendframework3,zend framework手册,framework怎么用,framework怎么用,zend framework手册,内容如对您有帮助,希望把文章链接给更多的朋友!

本文实例讲述了Zend Framework教程之Zend_Registry对象用法。分享给大家供大家参考,具体如下:

使用对象注册表(Registry)

对象注册表(或称对象仓库)是一个用于在整个应用空间(application space)内存储对象和值的容器。通过把对象存储在其中,我们可以在整个项目的任何地方使用同一个对象。这种机制相当于一种全局存储。

我们可以通过Zend_Registry类的静态方法来使用对象注册表,另外,由于该类是一个数组对象,你可以使用数组形式来访问其中的类方法。

1. 设置Registry中的值

要保存一项内容到注册表中,我们可以使用静态方法 set()。

例 1. set() 使用示例:

$value可以是一个对象、数组或者标量。你可以再次使用set()来为注册表中已有的值设置一个新值。

index参数可以是一个标量,即字符串或整数,就像使用数组一样,类似于数组的索引/键名。

2. 获取Registry中的值

可以使用 get()方法来获取Registry中某项内容的值。

例 2. get() 方法示例:

getInstance()返回静态registry对象。registry对象是可迭代的(iterable)。

例 3. 迭代一个registry对象:

3. 创建一个Registry对象

除了可以使用静态方法来访问Registry对象之外,你可以直接实例化它,就像使用普通的对象一样。

如果通过静态方法来访问registry对象的实例,它很方便进行静态存储,你可以在程序中的任何地方访问它。

如果使用传统的new 方法来创建registry的实例,则你可以使用数组一样的方式来初始化registry中的内容。

例 4. 创建一个registry对象

在创建这个对象实例之后,你可以使用数组对象方法来使用它,或者你可以把这个对象实例通过静态方法setInstance()设置为静态对象实例。

例 5. Example of initializing the static registry

如果静态的注册表对象已经被初始化过,则setInstance()方法会抛出一个Zend_Exception异常。

Zend Framework教程之Zend_Registry对象用法分析(zendframework3)

4. 像访问数组一样访问Registry对象

如果你要一次访问或设置多个值,你会发现使用数组方式是很方便的。

例 6. array 方式访问示例:

5. 对象方式访问Registry

你会发现使用面向对象风格来访问registry对象也是方便的,对象中的属性名称作为索引。 要这样做,你需要使用ArrayObject::ARRAY_AS_PROPS选项来创建registry对象,并初始化静态实例。你要在静态的registry被第一次访问之前就完成这个工作。小心使用这个选项,因为某些版本的PHP在使用这个选项时会有bug。

例 7. 对象形式的访问:

6. 查询一个索引是否存在

可以使用静态方法isRegistered()来查询是否某个特定的索引已经设置了相应的值。

例 8. isRegistered() 示例:

要确定一个数组对象中的某个特定索引的值是否设定,可以使用isset()函数,就像在普通的数组中那样使用。

例 9. isset() 示例:

7. 扩展Registry对象

静态registry对象是类Zend_Registry的一个实例。如果你想给它增加功能,你可以继承Zend_Registry类,然后指定使用这个类来访问对象注册表。你可以使用静态方法setClassName()来指定使用这个类。注意这个类一定要是Zend_Registry的子类。

例 . 指定静态注册表的类名:

如果你在registry已经被访问过后尝试设定该类名,则registry抛出一个异常。建议你在boostrap代码(即index.php)中设置该类名。

8. 删除静态注册表

尽管这不是必需的,你可以使用_unsetInstance()方法来删除registry的静态实例。

[注意] 数据丢失的风险

在使用_unsetInstance()的时候,静态注册表中的所有数据都会丢失并且无法恢复。

有时你可能需要_unsetInstance()这个方法。例如你想在已经初始化过registry对象之后,再使用setInstance()或 setClassName(),那么你可以使用_unsetInstance()先把静态实例删除了,然后才能使用那些方法。

例 . _unsetInstance() 示例:

更多关于zend相关内容感兴趣的读者可查看本站专题:《Zend FrameWork框架入门教程》、《php优秀开发框架总结》、《Yii框架入门及常用技巧总结》、《ThinkPHP入门教程》、《php面向对象程序设计入门教程》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》

希望本文所述对大家基于Zend Framework框架的PHP程序设计有所帮助。

Zend Framework教程之Zend_Config_Xml用法分析 本文实例讲述了ZendFramework中Zend_Config_Xml用法。分享给大家供大家参考,具体如下:Zend_Config_Xml让开发者能够存储配置数据到一个简单XML格式并通过嵌入

PHP正则获取页面所有图片地址 php//取得页面所有的图片地址functiongetimages($str){$match_str="/((

Zend Framework教程之Zend_Config_Ini用法分析 本文实例讲述了ZendFramework教程之Zend_Config_Ini用法。分享给大家供大家参考,具体如下:Zend_Config_Ini允许开发者通过嵌套的对象属性语法在应用程序中用

标签: zendframework3

本文链接地址:https://www.jiuchutong.com/biancheng/293158.html 转载请保留说明!

上一篇:Zend Framework实现多服务器共享SESSION数据的方法(framework 开发)

下一篇:Zend Framework教程之Zend_Config_Xml用法分析(framework4.0怎么打开)

  • 印花税申报表计税依据怎么填
  • 进项税转出大于进项税额还需要填列加计抵减附表吗
  • 小规模增值税纳税申报
  • 公司员工提成怎么交个税
  • 税收优惠退税账户是什么
  • 银行存款的会计处理方法
  • 税控软件维护
  • 给企业供货都有哪些渠道
  • 财务费用利息收入的账务处理
  • 股权的溢价是什么意思
  • 出口退税账务处理例题
  • 营改增后企业缴税种类
  • 消费型增值税计算公式
  • 减税降费新政策解读
  • 研发支出期末列报
  • 补充养老保险费可以扣除吗
  • 出口退税的计算题
  • 捐赠口罩的人
  • uc浏览器不让访问网页
  • 交易性金融资产属于什么科目
  • 360safe删除不了怎么办
  • 材料成本差异如何理解
  • php ffi 教程
  • 工业企业成本核算流程
  • php实现和工作原理
  • 增值税专用发票和普通发票的区别
  • PHP:imagecreatefromgd()的用法_GD库图像处理函数
  • 工会费会计分录
  • 暂估入账的原材料有成本差异吗
  • 企业应收票据贴现 哪个部门负责
  • 聊聊vue3的defineProps、defineEmits、defineExpose
  • linux rm 命令
  • opencv调用yolov8
  • php session用法
  • py转换成exe后打开没用
  • 递延所得税资产和所得税费用的关系
  • 预收账款的借贷方向是加还是凿
  • 退货款现金流量表填什么?
  • 查验发票显示红冲是什么意思
  • 社保怎么缴费方式
  • 保险公司给员工奖励是违法的吗
  • 厂房房租发票
  • 金税四期有什么变化
  • 事业单位无形资产包括
  • 国库券利息收入属于企业所得税纳税调整项目
  • 暂估入库的商品能出库吗
  • 印花税缴纳时间点
  • 软件产品增值税即征即退
  • 出纳现金日记账怎么记账
  • 计提社保个人部分会计分录
  • 公司购买黄金送客户可以抵税吗
  • 自查时发现以前的事情
  • 除了增值税专用发票,还有什么发票可抵扣
  • 怎么查企业适用的会计准则
  • 申报表弥补以前年度亏损是链接哪个数据
  • 长期股权投资的交易费用计入哪里
  • 伤残就业补偿金记入什么科目
  • mysql里面的数据类型
  • mysql5.7主从配置
  • win7传真和扫描
  • win7硬盘问题导致windows无法启动
  • ptssvc.exe - ptssvc是什么进程 有什么用
  • windows intel
  • 怎样修改linux用户名和密码
  • 如何让win8系统变快
  • window10如何设置访客权限
  • js单线程多线程
  • jquery 插件写法
  • 利用用英文怎么翻译
  • js动态给table添加行
  • python字符串怎么用
  • Unity3D游戏开发(第2版)pdf
  • 安卓怎么压缩
  • 审计局查什么内容
  • 政府免费
  • 个人所得税选择那种方式更好
  • 员工的生育津贴计入工资总额吗
  • 中国移动话费可以交水电费吗
  • 药店开给个人的增值税发票是什么样
  • 国家电子税务登录入口
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设