この記事では、Zend Framework 入門チュートリアルにおける Zend_Registry コンポーネントの使い方を主に紹介し、オブジェクトの登録設定、取得、判定、削除などの操作を実装するための Zend_Registry コンポーネントの一般的な手法をサンプル形式で分析します。参照する必要があります。
この記事の例では、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 职业为:学生 爱好为:玩游戏
構文:
値を設定 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 で一般的に使用されるいくつかのメソッドとケースです。通常の変数では実現できない機能の多くは、レジストリを介して実現できます。
上記がこの記事の全内容です。その他の関連コンテンツについては、PHP 中国語 Web サイトをご覧ください。
関連する推奨事項:
Zend Framework の Json データ処理方法についてZend での Loader および PluginLoader の使用方法についてフレームワーク分析
Zend Framework アクション コントローラーの使用方法について
##
以上がZend Framework の Zend_Registry コンポーネントの使用状況分析の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。