易怀源

导航

PHP开发APP接口(七)

APP接口实例

单例模式连接数据库
首页接口的开发以及客户端app的演示
APP版本升级接口
APP错误日志的接口

单例模式连接数据库
学习要点:
掌握单例模式设计
php连接数据库

单例模式:一个类只能拥有一个实例;
<?php

class Db{
    puclic function __construct(){

    }
}

$db=new Db();
$db1=new Db();
普通的类可以产生多个实例


单例模式三大原则:
1.构造函数需要标记为非Public(防止外部使用new操作符创建对象),单例类不能在其他类中实例化,只能被其自身实例化;
2.拥有一个保存类的实例的静态成员变量$_instance;
3.拥有一个访问这个实例的公共的静态方法。

class Ndb(){
    private function __construct(){

    }
}
这样就不能实例类了

<?php
class Ndb(){
    static private $_instance;//规范
    static private $_connectSource;
    private $_dbConfig = array(
            'host'=>'127.0.0.1',
            'user'=>'',
            'pass'=>'',
            'database'=>'',
        )
    private function __construct(){

    }

    public static function getInstance(){
        if(!(self:$_instance instanceof self)){
            self::$_instance = new self();
        }
        return self::$_instance;
    }


    public function connect(){
        if(!self::$_connectSource){
            self::$_connectSource=mysqli_connect();

            if(!self::$_connectSource){
                throw new Exception("mysql_connet_error".mysql_error());
                // die("mysql_connet_error".mysql_error());
            }

            mysql_query('set names UTF8');            
        }


        return self::$_connectSource
    }
}
?>
$ndb=Ndb::getInstance();

posted on 2016-06-03 12:37  易怀源  阅读(443)  评论(0编辑  收藏  举报