Das Beispiel in diesem Artikel beschreibt die Verwendung der Zend_Registry-Komponente im Zend Framework. Teilen Sie es allen als Referenz mit. Die Details lauten wie folgt:
1. Objektregistrierung
Erste Schritte:
<?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>";
Das Ergebnis ist:
姓名为:张三 性别为:女 年龄为:13 职业为:学生 爱好为:玩游戏
2. Die set()-Methode und die get()-Methode setzen Daten und rufen Daten ab
Syntax:
Setzen Sie den Wert Zend_Registry::set('index','value')
Holen Sie sich den Wert Zend_Registry::get('index')
Fall:
<?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>";
Erklärung: Die Wirkung entspricht dem Ergebnis von Neu.
3. Objektregistrierung setInstance, getInstance
Beispiel:
<?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;
Ergebnis:
Mike 30 male
Erläuterung: Mit der setInstance-Methode können Sie den Wert in Form eines Objekts festlegen und ihn dann über getInstance abrufen.
4.isRegistered(), um festzustellen, ob der Index einen Wert hat.
Fall:
<?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没有定义"; }
Ergebnis:
对象注册表name已经定义 对象注册表age没有定义
Hinweis:
Wenn es definiert ist, kann es erkannt werden.
5. Löschen Sie die statische Registrierung
Zend_Registry::_unsetInstance()-Methode löscht die statische Registrierung
Fall:
<?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没有定义"; }
Ergebnis:
执行操作前: 对象注册表name已经定义 对象注册表age没有定义 执行操作后: 对象注册表name没有定义 对象注册表age没有定义
Hinweis: Nach dem Ausführen der Löschmethode gehen die vorherigen Registrierungsinformationen verloren.
Zusammenfassung:
Dies sind mehrere häufig verwendete Methoden und Fälle von Zend_Registry. Viele Funktionen, die mit gewöhnlichen Variablen nicht erreicht werden können, können über die Registrierung erreicht werden.
Ich hoffe, dass dieser Artikel für jedermann bei der PHP-Programmierung auf Basis des Zend Framework-Frameworks hilfreich sein wird.
Ausführlichere Erklärungen zur Verwendung der Zend_Registry-Komponente im Zend Framework-Einführungs-Tutorial finden Sie auf der chinesischen PHP-Website!