首页 > 代码库 > php单例模式
php单例模式
class SingleDesign { private static $instance = null; private function __construct(){} private function __clone(){} public static function getInstance() { if (self::$instance === null) { self::$instance = new self(); } return self::$instance; } }
单例模式:
优点:在运行期间,只能得到一个类的实例.防止重复的开销.
设计思路:
1.设置一个静态变量
2.私有化构造方法
3.提供一个静态方法,在静态方法中判断静态变量是否有初始化为该类实例,如果有,返回,没有,初始化
其实一些函数中也可以借用这种思想
function user_info ($uid) { static $s_user = array(); if (isset($s_user[$uid])) { $s_user[$uid] = $db->where("id=" . $uid)->query(); } return $s_user[$uid]; }
在程序运行期间,调用该方法,比如获取$uid为10的用户信息,无论调用多少次,则只会读取一次数据库.节省开销.
php单例模式
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。