位置: 编程技术 - 正文

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怎么打开)

  • 企业所得税的纳税人发生年度亏损的时间
  • 快递费属于哪个商品编码
  • 延期利息增值税可以抵扣吗
  • 季度申报后还要年度申报吗
  • 股东投入款放入什么科目
  • 土地增值税怎么做账
  • 个人房屋租金收入怎么交税
  • 小规模纳税人要交印花税吗
  • 建筑施工企业工伤保险费率
  • 冲减成本费用会计分录
  • 计提劳务成本月末需要结转吗
  • 单位给职工租房属于福利政策文件
  • 小规模纳税人文化事业建设费减免政策
  • 企业发生的销售折让
  • 总分类账的账簿启用表怎么填
  • 期末结转生产成本会计分录
  • 应付利息和应计利息怎么区分
  • 用自产的产品用于生产线
  • 发票明细与实际送货清单不符
  • 图像类别
  • 企业购入固定资产在每期末应使用公允价值法进行计量
  • keyemain.exe是什么进程
  • asldrsrv.exe
  • koeids.dll
  • 微博怎么变成大v
  • 跨地区经营建筑企业预缴增值税
  • 即征即退增值税账务处理
  • phpwhile用法
  • uniapp使用高德猎鹰服务
  • mac phpstudy
  • 债务重组亏损计入
  • [Vue warn]: Error in created hook: “TypeError: Cannot read properties of undefined (reading ‘$on‘)“
  • 自然人税收管理系统扣缴客户端怎么操作
  • 借应付职工薪酬贷其他应收款
  • dpkg deinstall
  • 增值税直接减征的情形
  • 应付职工薪酬多栏式
  • 电力系统培训计划
  • mysql基本sql语句大全(基础用语篇)
  • 帝国CMS根据不同会员组显示不同内容的方法
  • 房地产企业样板间装修费账务处理
  • 金税盘怎么向分盘分配发票
  • 小规模纳税人开票限额是多少
  • 收据和发票有什么用
  • 季度报表利润表本期金额怎么填
  • 财务专用章是干嘛用的
  • 现金比率的计算例题
  • 应交增值税结转凭证
  • 将购进的材料用于自制生产用设备
  • 商业承兑汇票贴现流程
  • 当月作废的采购发票已认证账务如何处理?
  • 利润表中管理费用根据什么填
  • 固定制造费用包括变动制造费用吗
  • 办公用品的发票可以抵扣吗
  • 税控开具发票
  • bios设置光盘启动图解
  • winxp每次开机都要输入用户名
  • 如何关闭mac上的icloud
  • linux内容查找
  • linux修改分组
  • Linux Bash Shell入门教程
  • [置顶] [寒江孤叶丶的Cocos2d-x之旅_27]CocoStudio导出的LUA文件怎么使用?
  • css使用教程
  • perl 文本文件处理
  • 需要牢记的号码
  • 修改安卓app权限教程
  • nodejs连接mongodb副本集
  • Node.js中的construct
  • xbox无法连接无线网络
  • unity3d怎么用
  • 黄南同仁县海拔多少米
  • 房产税纳税义务终止
  • 扬州地方税务局在哪
  • 贵州开票软件怎么下载安装
  • 工信厅有什么实权
  • 什么是双创服务平台
  • 重点税源企业税收分析报告
  • 异地预缴增值税销售额是含税
  • 山东国税局官网登录
  • 怎么下载国家税务局网上办税
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设