溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Zend Framework中如何使用Zend_Registry組件

發(fā)布時間:2021-06-23 15:48:27 來源:億速云 閱讀:122 作者:Leah 欄目:開發(fā)技術(shù)

這篇文章給大家介紹Zend Framework中如何使用Zend_Registry組件,內(nèi)容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。

1.對象注冊表

入門案例:

<?php
require_once("Zend/Loader.php");
Zend_Loader::loadClass('Zend_Registry');
$member = array(
  "姓名"=>"張三",
  "性別"=>"女",
  "年齡"=>"13",
  "職業(yè)"=>"學生",
  "愛好"=>"玩游戲",
  "血型"=>"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è)為:學生
愛好為:玩游戲

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è)"=>"學生",
  "愛好"=>"玩游戲",
  "血型"=>"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()來實現(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沒有定義

關(guān)于Zend Framework中如何使用Zend_Registry組件就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI