zoukankan      html  css  js  c++  java
  • 06 php 单例模式

    一:单例模式的三大原则
    
    (1)构造函数需要标记为非public(防止外部使用new操作符创建对象),单例类不能在其他类中实例化,只能被自身实例化。
    
    (2)拥有一个保存类的实例的静态成员变量$_instance
    
     (3)拥有一个访问这个实例的公共静态的方法
    
    二:实现代码
    
    <?php
    class Db { static private $_instance; static private $_connectSource; #连接数据库常量 private $_dbConfig = array( 'host' => '127.0.0.1', 'user' => 'root', 'password' => '', 'database' => 'video', ); private function __construct() { } static public function getInstance() { #判断这个变量是否存在 if(!(self::$_instance instanceof self)) { self::$_instance = new self(); } return self::$_instance; } #连接数据库 public function connect() { if(!self::$_connectSource) { self::$_connectSource = @mysql_connect($this->_dbConfig['host'], $this->_dbConfig['user'], $this->_dbConfig['password']); if(!self::$_connectSource) { throw new Exception('mysql connect error ' . mysql_error()); //die('mysql connect error' . mysql_error()); } mysql_select_db($this->_dbConfig['database'], self::$_connectSource); mysql_query("set names UTF8", self::$_connectSource); } return self::$_connectSource; } } /*$connect = Db::getInstance()->connect(); $sql = "select * from video"; $result = mysql_query($sql, $connect); echo mysql_num_rows($result); var_dump($result);*/
  • 相关阅读:
    C#解压或压缩文件夹
    C#文件帮助类FoderHelper
    C#数据库帮助类SqlHelper
    非常有意思的程序猿数据比較
    hdu1066
    【SICP练习】149 练习4.5
    【spring+websocket的使用】
    Android Studio 使用正式签名进行调试
    基于空间直方图meanshift跟踪
    Intel为Google的物联网平台Brillo推出开发板Edison
  • 原文地址:https://www.cnblogs.com/hgj123/p/4360263.html
Copyright © 2011-2022 走看看