>php教程 >PHP开发 >Zend Framework 입문 튜토리얼: Zend_Registry 컴포넌트 사용법에 대한 자세한 설명

Zend Framework 입문 튜토리얼: Zend_Registry 컴포넌트 사용법에 대한 자세한 설명

高洛峰
高洛峰원래의
2017-01-05 10:28:341342검색

이 기사의 예에서는 Zend Framework에서 Zend_Registry 구성 요소의 사용법을 설명합니다. 참고할 수 있도록 모든 사람과 공유하세요. 자세한 내용은 다음과 같습니다.

1. 개체 레지스트리

시작 사례:

<?php
require_once("Zend/Loader.php");
Zend_Loader::loadClass(&#39;Zend_Registry&#39;);
$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(&#39;Zend_Registry&#39;);
$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(&#39;Zend_Registry&#39;);
$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(&#39;Zend_Registry&#39;);
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(&#39;Zend_Registry&#39;);
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 중국어 홈페이지를 참고해주세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.