zoukankan      html  css  js  c++  java
  • 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();

  • 相关阅读:
    zoj3888 找第二大
    zoj3882 博弈
    字典树小总结
    hdu2222 字典树
    hdu1247 字典树
    开放融合 | “引擎级”深度对接!POLARDB与SuperMap联合构建首个云原生时空平台
    阿里HBase高可用8年“抗战”回忆录
    最佳实践 | RDS & POLARDB归档到X-Pack Spark计算
    今日头条在消息服务平台和容灾体系建设方面的实践与思考
    饿了么监控系统 EMonitor 与美团点评 CAT 的对比
  • 原文地址:https://www.cnblogs.com/eis13/p/5555885.html
Copyright © 2011-2022 走看看