ホームページ  >  記事  >  php教程  >  Zend Framework 入門チュートリアル: Zend_Registry コンポーネントの使用法の詳細な説明

Zend Framework 入門チュートリアル: Zend_Registry コンポーネントの使用法の詳細な説明

高洛峰
高洛峰オリジナル
2017-01-05 10:28:341275ブラウズ

この記事の例では、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没有定义

説明: delete メソッドの実行後、登録前情報が消えてしまった。

概要:

これらは、Zend_Registry の一般的に使用されるいくつかのメソッドとケースです。通常の変数では実現できない機能の多くは、レジストリを介して実現できます。

この記事が、Zend Framework フレームワークに基づいた PHP プログラミングの皆様のお役に立てれば幸いです。

Zend Framework 入門チュートリアルの Zend_Registry コンポーネントの使用法に関する詳細な説明については、PHP 中国語 Web サイトに注目してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。