> 백엔드 개발 > PHP 튜토리얼 > Zend Framework의 Zend_Registry 구성 요소 사용 분석

Zend Framework의 Zend_Registry 구성 요소 사용 분석

不言
풀어 주다: 2023-04-01 10:30:01
원래의
1411명이 탐색했습니다.

이 글에서는 Zend Framework 입문 튜토리얼에서 Zend_Registry 컴포넌트의 사용법을 주로 소개합니다. Zend_Registry 컴포넌트의 설정, 획득, 판단, 삭제 및 기타 작업을 예제 형식으로 분석합니다. 필요하시면 참고하세요

이 글은 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() 메서드는 정적 레지스트리를 삭제합니다.

Case:

<?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에서 일반적으로 사용되는 몇 가지 방법과 사례입니다. 일반 변수로는 얻을 수 없는 많은 기능을 레지스트리를 통해 얻을 수 있습니다.

위 내용은 이 글의 전체 내용입니다. 모든 분들의 학습에 도움이 되었으면 좋겠습니다. 더 많은 관련 내용은 PHP 중국어 홈페이지를 주목해주세요!

관련 권장사항:

Zend Framework의 Json 데이터 처리 방법에 대해

Zend Framework의 Loader 및 PluginLoader 사용 분석에 대해

Zend Framework 액션 컨트롤러 사용에 대해

위 내용은 Zend Framework의 Zend_Registry 구성 요소 사용 분석의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿