Zend Framework の Zend_Registry コンポーネントの使用状況分析

不言
リリース: 2023-04-01 10:30:01
オリジナル
1393 人が閲覧しました

この記事では、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() メソッドは静的レジストリを削除します

# ケース:

<?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 中国語 Web サイトをご覧ください。

関連する推奨事項:

Zend Framework の Json データ処理方法について

Zend での Loader および PluginLoader の使用方法についてフレームワーク分析

Zend Framework アクション コントローラーの使用方法について


##

以上がZend Framework の Zend_Registry コンポーネントの使用状況分析の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート