23.php使用注册表
2016-02-22 21:24
796 查看
全局变量是能被任意位置修改的,同时常量又不够灵活。我们通常借用单例模式创建单例来保存数据这就是注册表。注册表即可以保存对象也能保存键值对。
保存对象
保存键值对方式的数据
保存对象
<span style="font-family:Courier New;"><?php </span>final class Registry{ //保存自身 private static $instance=NULL; //保存请求 private $Request; private function __construct(){} static function instance(){ if (!isset(self::$instance)){ self::$instance = new self(); } return self::$instance; } public function getRequest(){ return $this->Request; } public function setRequest(Request $request){ $this->Request = $request; } }
保存键值对方式的数据
<?php final class Registry{ private static $instance = NULL; private $values = array(); private function __construct(){} public static function instance(){ if(isset(self::$instance)){ self::$instance = new self(); } return self::$instance; } public function getvalue($key){ if(isset($this->values[$key])){ return $this->values[$key]; } return null; } public function setvalue($key, $value){ $this->values[$key] = $value; } }
相关文章推荐
- php函数不能直接访问外部变量
- 用php的定界符EOT需要留个心眼
- thinkphp_3.1.2介绍和安装
- php编译安装
- yii学习历程1——归档文件安装
- script_language.php
- getPath()与getAbsolutePath()
- PhpStorm 配置在浏览器中打开文件
- PHP初学之控制结构
- PHP初学之运算符
- 自定义ContentProvider
- 数据存储ContentProvider
- 关于CRTP(Curiously Recurring Template Prattern)的使用
- YII2
- ContentProvider应用组件实例记录
- RTP timestamp与帧率及时钟频率的关系
- php emoji表情处理
- php设置cookie,在js中如何获取
- 使用PHP+Sphinx建立高效的站内搜索引擎
- ftp虚拟用户的配置