本文實(shí)例講述了Zend Framework中Zend_Registry組件用法。分享給大家供大家參考,具體如下:
1.對象注冊表
入門案例:
<?php require_once("Zend/Loader.php"); Zend_Loader::loadClass('Zend_Registry'); $member = array( "姓名"=>"張三", "性別"=>"女", "年齡"=>"13", "職業(yè)"=>"學(xué)生", "愛好"=>"玩游戲", "血型"=>"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 "愛好為:"; echo $registry["愛好"]; echo "<p>";
結(jié)果為:
姓名為:張三 性別為:女 年齡為:13 職業(yè)為:學(xué)生 愛好為:玩游戲
2.set()方法和get()方法設(shè)置數(shù)據(jù)、獲取數(shù)據(jù)
語法:
設(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é)生", "愛好"=>"玩游戲", "血型"=>"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 "愛好為:"; echo $registry["愛好"]; echo "<p>";
說明:效果等同于new的結(jié)果。
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;
結(jié)果:
Mike 30 male
說明:通過setInstance方法,就可以用對象的方式設(shè)置其中的值了,然后通過getInstance來獲取值。
4.isRegistered()來實(shí)現(xiàn)索引是否有值的判斷。
案例:
<?php require_once("Zend/Loader.php"); Zend_Loader::loadClass('Zend_Registry'); Zend_Registry::set("name","張三"); if(Zend_Registry::isRegistered("name")){ echo "對象注冊表name已經(jīng)定義"; }else{ echo "對象注冊表name沒有定義"; } echo "<p>"; if(Zend_Registry::isRegistered("age")){ echo "對象注冊表age已經(jīng)定義"; }else{ echo "對象注冊表age沒有定義"; }
結(jié)果:
對象注冊表name已經(jīng)定義 對象注冊表age沒有定義
說明:
如果定義了,可以檢測出來。
5.刪除靜態(tài)注冊表
Zend_Registry::_unsetInstance()方法刪除靜態(tài)注冊表
案例:
<?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 "對象注冊表name已經(jīng)定義"; }else{ echo "對象注冊表name沒有定義"; } echo "<p>"; if(Zend_Registry::isRegistered("age")){ echo "對象注冊表age已經(jīng)定義"; }else{ echo "對象注冊表age沒有定義"; } Zend_Registry::_unsetInstance("name"); echo "<p>"; echo "執(zhí)行操作后:"; echo "<p>"; if(Zend_Registry::isRegistered("name")){ echo "對象注冊表name已經(jīng)定義"; }else{ echo "對象注冊表name沒有定義"; } echo "<p>"; if(Zend_Registry::isRegistered("age")){ echo "對象注冊表age已經(jīng)定義"; }else{ echo "對象注冊表age沒有定義"; }
結(jié)果:
執(zhí)行操作前: 對象注冊表name已經(jīng)定義 對象注冊表age沒有定義 執(zhí)行操作后: 對象注冊表name沒有定義 對象注冊表age沒有定義
? ?
說明:執(zhí)行完刪除方法之后,之前的注冊信息就沒有了。
小結(jié):
這就是Zend_Registry的幾個(gè)常用的方法與案例。通過注冊表可以實(shí)現(xiàn)很多普通變量無法實(shí)現(xiàn)的功能。
希望本文所述對大家基于Zend Framework框架的PHP程序設(shè)計(jì)有所幫助。
更多Zend Framework入門教程之Zend_Registry組件用法詳解相關(guān)文章請關(guān)注PHP中文網(wǎng)!

Alat AI Hot

Undress AI Tool
Gambar buka pakaian secara percuma

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)