《PHP应用:Zend Framework入门教程之Zend_Registry组件用法详解》要点:
本文介绍了PHP应用:Zend Framework入门教程之Zend_Registry组件用法详解,希望对您有用。如果有疑问,可以联系我们。
本文实例讲述了Zend Framework中Zend_Registry组件用法.分享给大家供大家参考,具体如下:PHP应用
1.对象注册表PHP应用
入门案例:PHP应用
<?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>";
结果为:PHP应用
姓名为:张三 性别为:女 年龄为:13 职业为:学生 爱好为:玩游戏
2.set()方法和get()方法设置数据、获取数据PHP应用
语法:PHP应用
设置值Zend_Registry::set('index','value')
获取值Zend_Registry::get('index')PHP应用
案例:PHP应用
<?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的结果.PHP应用
3.对象注册表setInstance、getInstancePHP应用
例子:PHP应用
<?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;
结果:PHP应用
Mike 30 male
说明:通过setInstance方法,就可以用对象的方式设置其中的值了,然后通过getInstance来获取值.PHP应用
4.isRegistered()来实现索引是否有值的判断.PHP应用
案例:PHP应用
<?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没有定义";
}
结果:PHP应用
对象注册表name已经定义 对象注册表age没有定义
说明:PHP应用
如果定义了,可以检测出来.PHP应用
5.删除静态注册表PHP应用
Zend_Registry::_unsetInstance()方法删除静态注册表PHP应用
案例:PHP应用
<?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没有定义";
}
结果:PHP应用
执行操作前: 对象注册表name已经定义 对象注册表age没有定义 执行操作后: 对象注册表name没有定义 对象注册表age没有定义
说明:执行完删除方法之后,之前的注册信息就没有了.PHP应用
小结:PHP应用
这就是Zend_Registry的几个常用的方法与案例.通过注册表可以实现很多普通变量无法实现的功能.PHP应用
更多关于zend相关内容感兴趣的读者可查看本站专题:《Zend FrameWork框架入门教程》、《php优秀开发框架总结》、《Yii框架入门及常用技巧总结》、《ThinkPHP入门教程》、《php面向对象程序设计入门教程》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》PHP应用
希望本文所述对大家基于Zend Framework框架的PHP程序设计有所帮助.PHP应用
转载请注明本页网址:
http://www.vephp.com/jiaocheng/2450.html