이 기사의 예에서는 Zend Framework에서 Zend_Registry 구성 요소의 사용법을 설명합니다. 참고할 수 있도록 모든 사람과 공유하세요. 자세한 내용은 다음과 같습니다.
1. 개체 레지스트리
시작 사례:
<?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>";
결과는 다음과 같습니다.
姓名为:张三 性别为:女 年龄为:13 职业为:学生 爱好为:玩游戏
2. set() 메소드와 get() 메소드는 데이터를 설정하고 가져옵니다
구문:
값 설정 Zend_Registry::set('index','value')
값 가져오기 Zend_Registry::get('index')
사례:
<?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의 결과와 동일합니다.
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;
결과:
Mike 30 male
설명: setInstance 메소드를 통해 객체 형태로 값을 설정한 후, getInstance를 통해 값을 얻을 수 있습니다.
4.isRegistered()는 인덱스에 값이 있는지 확인합니다.
사례:
<?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没有定义"; }
결과:
对象注册表name已经定义 对象注册表age没有定义
참고:
정의하면 감지할 수 있습니다.
5. 정적 레지스트리 삭제
Zend_Registry::_unsetInstance() 메서드는 정적 레지스트리를 삭제합니다.
사례:
<?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没有定义"; }
결과:
执行操作前: 对象注册表name已经定义 对象注册表age没有定义 执行操作后: 对象注册表name没有定义 对象注册表age没有定义
참고: 삭제 방법을 실행하면 이전 등록 정보는 사라집니다.
요약:
Zend_Registry에서 일반적으로 사용되는 몇 가지 방법과 사례는 다음과 같습니다. 일반 변수로는 얻을 수 없는 많은 기능을 레지스트리를 통해 얻을 수 있습니다.
이 기사가 Zend Framework 프레임워크를 기반으로 하는 모든 사람의 PHP 프로그래밍에 도움이 되기를 바랍니다.
Zend Framework 입문 튜토리얼의 Zend_Registry 컴포넌트 사용법에 대한 더 자세한 설명은 PHP 중국어 홈페이지를 참고해주세요!