Zend Framework入门教程之Zend_Registry组件用法详解
程序员文章站
2024-03-05 17:14:25
本文实例讲述了zend framework中zend_registry组件用法。分享给大家供大家参考,具体如下:
1.对象注册表
入门案例:
...
本文实例讲述了zend framework中zend_registry组件用法。分享给大家供大家参考,具体如下:
1.对象注册表
入门案例:
<?php require_once("zend/loader.php"); zend_loader::loadclass('zend_registry'); $member = array( "姓名"=>"张三", "性别"=>"女", "年龄"=>"13", "职业"=>"学生", "爱好"=>"玩游戏", "血型"=>"ab" ); $registry = new zend_registry($member); echo "姓名为:"; echo $registry["姓名"]; echo "<p>"; echo "性别为:"; echo $registry["性别"]; echo "<p>"; echo "年龄为:"; echo $registry["年龄"]; echo "<p>"; echo "职业为:"; echo $registry["职业"]; echo "<p>"; echo "爱好为:"; echo $registry["爱好"]; echo "<p>";
结果为:
姓名为:张三 性别为:女 年龄为:13 职业为:学生 爱好为:玩游戏
2.set()方法和get()方法设置数据、获取数据
语法:
设置值zend_registry::set('index','value')
获取值zend_registry::get('index')
案例:
<?php require_once("zend/loader.php"); zend_loader::loadclass('zend_registry'); $member = array( "姓名"=>"张三", "性别"=>"女", "年龄"=>"13", "职业"=>"学生", "爱好"=>"玩游戏", "血型"=>"ab" ); zend_registry::set("registry",$member); $registry = zend_registry::get("registry"); echo "姓名为:"; echo $registry["姓名"]; echo "<p>"; echo "性别为:"; echo $registry["性别"]; echo "<p>"; echo "年龄为:"; echo $registry["年龄"]; echo "<p>"; echo "职业为:"; echo $registry["职业"]; echo "<p>"; echo "爱好为:"; echo $registry["爱好"]; echo "<p>";
说明:效果等同于new的结果。
3.对象注册表setinstance、getinstance
例子:
<?php require_once("zend/loader.php"); zend_loader::loadclass('zend_registry'); $registry = new zend_registry(); zend_registry::setinstance($registry); $registry->name = "mike"; $registry->age = "30"; $registry = zend_registry::getinstance(); echo $registry->name; echo "<p>"; echo $registry->age; echo "<p>"; $registry->sex = "male"; echo $registry->sex;
结果:
mike 30 male
说明:通过setinstance方法,就可以用对象的方式设置其中的值了,然后通过getinstance来获取值。
4.isregistered()来实现索引是否有值的判断。
案例:
<?php require_once("zend/loader.php"); zend_loader::loadclass('zend_registry'); zend_registry::set("name","张三"); if(zend_registry::isregistered("name")){ echo "对象注册表name已经定义"; }else{ echo "对象注册表name没有定义"; } echo "<p>"; if(zend_registry::isregistered("age")){ echo "对象注册表age已经定义"; }else{ echo "对象注册表age没有定义"; }
结果:
对象注册表name已经定义 对象注册表age没有定义
说明:
如果定义了,可以检测出来。
5.删除静态注册表
zend_registry::_unsetinstance()方法删除静态注册表
案例:
<?php require_once("zend/loader.php"); zend_loader::loadclass('zend_registry'); zend_registry::set("name","张三"); echo "执行操作前:"; echo "<p>"; if(zend_registry::isregistered("name")){ echo "对象注册表name已经定义"; }else{ echo "对象注册表name没有定义"; } echo "<p>"; if(zend_registry::isregistered("age")){ echo "对象注册表age已经定义"; }else{ echo "对象注册表age没有定义"; } zend_registry::_unsetinstance("name"); echo "<p>"; echo "执行操作后:"; echo "<p>"; if(zend_registry::isregistered("name")){ echo "对象注册表name已经定义"; }else{ echo "对象注册表name没有定义"; } echo "<p>"; if(zend_registry::isregistered("age")){ echo "对象注册表age已经定义"; }else{ echo "对象注册表age没有定义"; }
结果:
执行操作前: 对象注册表name已经定义 对象注册表age没有定义 执行操作后: 对象注册表name没有定义 对象注册表age没有定义
说明:执行完删除方法之后,之前的注册信息就没有了。
小结:
这就是zend_registry的几个常用的方法与案例。通过注册表可以实现很多普通变量无法实现的功能。
更多关于zend相关内容感兴趣的读者可查看本站专题:《zend framework框架入门教程》、《php优秀开发框架总结》、《yii框架入门及常用技巧总结》、《thinkphp入门教程》、《php面向对象程序设计入门教程》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》
希望本文所述对大家基于zend framework框架的php程序设计有所帮助。
推荐阅读
-
Zend Framework入门教程之Zend_Registry组件用法详解
-
Zend Framework入门教程之Zend_Config组件用法详解
-
Zend Framework入门教程之Zend_View组件用法示例
-
Zend Framework使用Zend_Loader组件动态加载文件和类用法详解
-
Zend Framework教程之视图组件Zend_View用法详解,zendzend_view_PHP教程
-
Zend Framework教程之视图组件Zend_View用法详解
-
Zend Framework教程之视图组件Zend_View用法详解
-
Zend Framework教程之视图组件Zend_View用法详解,zendzend_view_PHP教程
-
Zend Framework教程之视图组件Zend_View用法详解_php实例
-
Zend Framework教程之视图组件Zend_View用法详解_PHP