您的位置:首页 > 编程语言 > PHP开发

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;
    }
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: