Zend Framework入門教程之Zend_Registry組件用法詳解
本文實(shí)例講述了Zend Framework中Zend_Registry組件用法。分享給大家供大家參考,具體如下:
1.對(duì)象注冊(cè)表
入門案例:
<?php require_once("Zend/Loader.php"); Zend_Loader::loadClass('Zend_Registry'); $member = array( "姓名"=>"張三", "性別"=>"女", "年齡"=>"13", "職業(yè)"=>"學(xué)生", "愛(ài)好"=>"玩游戲", "血型"=>"AB" ); $registry = new Zend_Registry($member); echo "姓名為:"; echo $registry["姓名"]; echo "<p>"; echo "性別為:"; echo $registry["性別"]; echo "<p>"; echo "年齡為:"; echo $registry["年齡"]; echo "<p>"; echo "職業(yè)為:"; echo $registry["職業(yè)"]; echo "<p>"; echo "愛(ài)好為:"; echo $registry["愛(ài)好"]; echo "<p>";
結(jié)果為:
姓名為:張三 性別為:女 年齡為:13 職業(yè)為:學(xué)生 愛(ài)好為:玩游戲
2.set()方法和get()方法設(shè)置數(shù)據(jù)、獲取數(shù)據(jù)
語(yǔ)法:
設(shè)置值Zend_Registry::set('index','value')
獲取值Zend_Registry::get('index')
案例:
<?php require_once("Zend/Loader.php"); Zend_Loader::loadClass('Zend_Registry'); $member = array( "姓名"=>"張三", "性別"=>"女", "年齡"=>"13", "職業(yè)"=>"學(xué)生", "愛(ài)好"=>"玩游戲", "血型"=>"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 "職業(yè)為:"; echo $registry["職業(yè)"]; echo "<p>"; echo "愛(ài)好為:"; echo $registry["愛(ài)好"]; echo "<p>";
說(shuō)明:效果等同于new的結(jié)果。
3.對(duì)象注冊(cè)表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;
結(jié)果:
Mike 30 male
說(shuō)明:通過(guò)setInstance方法,就可以用對(duì)象的方式設(shè)置其中的值了,然后通過(guò)getInstance來(lái)獲取值。
4.isRegistered()來(lái)實(shí)現(xiàn)索引是否有值的判斷。
案例:
<?php require_once("Zend/Loader.php"); Zend_Loader::loadClass('Zend_Registry'); Zend_Registry::set("name","張三"); if(Zend_Registry::isRegistered("name")){ echo "對(duì)象注冊(cè)表name已經(jīng)定義"; }else{ echo "對(duì)象注冊(cè)表name沒(méi)有定義"; } echo "<p>"; if(Zend_Registry::isRegistered("age")){ echo "對(duì)象注冊(cè)表age已經(jīng)定義"; }else{ echo "對(duì)象注冊(cè)表age沒(méi)有定義"; }
結(jié)果:
對(duì)象注冊(cè)表name已經(jīng)定義 對(duì)象注冊(cè)表age沒(méi)有定義
說(shuō)明:
如果定義了,可以檢測(cè)出來(lái)。
5.刪除靜態(tài)注冊(cè)表
Zend_Registry::_unsetInstance()方法刪除靜態(tài)注冊(cè)表
案例:
<?php require_once("Zend/Loader.php"); Zend_Loader::loadClass('Zend_Registry'); Zend_Registry::set("name","張三"); echo "執(zhí)行操作前:"; echo "<p>"; if(Zend_Registry::isRegistered("name")){ echo "對(duì)象注冊(cè)表name已經(jīng)定義"; }else{ echo "對(duì)象注冊(cè)表name沒(méi)有定義"; } echo "<p>"; if(Zend_Registry::isRegistered("age")){ echo "對(duì)象注冊(cè)表age已經(jīng)定義"; }else{ echo "對(duì)象注冊(cè)表age沒(méi)有定義"; } Zend_Registry::_unsetInstance("name"); echo "<p>"; echo "執(zhí)行操作后:"; echo "<p>"; if(Zend_Registry::isRegistered("name")){ echo "對(duì)象注冊(cè)表name已經(jīng)定義"; }else{ echo "對(duì)象注冊(cè)表name沒(méi)有定義"; } echo "<p>"; if(Zend_Registry::isRegistered("age")){ echo "對(duì)象注冊(cè)表age已經(jīng)定義"; }else{ echo "對(duì)象注冊(cè)表age沒(méi)有定義"; }
結(jié)果:
執(zhí)行操作前: 對(duì)象注冊(cè)表name已經(jīng)定義 對(duì)象注冊(cè)表age沒(méi)有定義 執(zhí)行操作后: 對(duì)象注冊(cè)表name沒(méi)有定義 對(duì)象注冊(cè)表age沒(méi)有定義
說(shuō)明:執(zhí)行完刪除方法之后,之前的注冊(cè)信息就沒(méi)有了。
小結(jié):
這就是Zend_Registry的幾個(gè)常用的方法與案例。通過(guò)注冊(cè)表可以實(shí)現(xiàn)很多普通變量無(wú)法實(shí)現(xiàn)的功能。
更多關(guān)于zend相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Zend FrameWork框架入門教程》、《php優(yōu)秀開(kāi)發(fā)框架總結(jié)》、《Yii框架入門及常用技巧總結(jié)》、《ThinkPHP入門教程》、《php面向?qū)ο蟪绦蛟O(shè)計(jì)入門教程》、《php+mysql數(shù)據(jù)庫(kù)操作入門教程》及《php常見(jiàn)數(shù)據(jù)庫(kù)操作技巧匯總》
希望本文所述對(duì)大家基于Zend Framework框架的PHP程序設(shè)計(jì)有所幫助。
- 工廠模式在Zend Framework中應(yīng)用介紹
- Zend Framework開(kāi)發(fā)入門經(jīng)典教程
- Zend Framework入門之環(huán)境配置及第一個(gè)Hello World示例(附demo源碼下載)
- Zend Framework入門知識(shí)點(diǎn)小結(jié)
- Zend Framework 2.0事件管理器(The EventManager)入門教程
- Zend Framework入門教程之Zend_View組件用法示例
- Zend Framework入門教程之Zend_Config組件用法詳解
- Zend Framework入門教程之Zend_Session會(huì)話操作詳解
- Zend Framework入門教程之Zend_Mail用法示例
- Zend Framework入門教程之Zend_Db數(shù)據(jù)庫(kù)操作詳解
- Zend Framework入門應(yīng)用實(shí)例詳解
相關(guān)文章
php讀取qqwry.dat ip地址定位文件的類實(shí)例代碼
下面小編就為大家?guī)?lái)一篇php讀取qqwry.dat ip地址定位文件的類實(shí)例代碼。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2016-11-11php對(duì)接java現(xiàn)實(shí)加簽驗(yàn)簽的實(shí)例
下面小編就為大家?guī)?lái)一篇php對(duì)接java現(xiàn)實(shí)加簽驗(yàn)簽的實(shí)例。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2016-11-11OAuth認(rèn)證協(xié)議中的HMACSHA1加密算法(實(shí)例)
下面小編就為大家?guī)?lái)一篇OAuth認(rèn)證協(xié)議中的HMACSHA1加密算法(實(shí)例)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-10-10使用gd庫(kù)實(shí)現(xiàn)php服務(wù)端圖片裁剪和生成縮略圖功能分享
一般用戶上傳頭像時(shí),都會(huì)讓用戶自行裁剪圖片。那么php怎么實(shí)現(xiàn)這個(gè)功能呢?php中裁剪圖片主要使用gd庫(kù)的imagecopyresampled方法2013-12-12thinkphp數(shù)據(jù)查詢和遍歷數(shù)組實(shí)例
這篇文章主要介紹了thinkphp數(shù)據(jù)查詢和遍歷數(shù)組的方法,包括數(shù)據(jù)庫(kù)的DSN方法配置、CURD操作方法以及模板的遍歷數(shù)組等技巧,具有一定的借鑒價(jià)值,需要的朋友可以參考下2014-11-11