关于一个单例模式的问题,这样写为什么返回的是DB实例,而不是一个PDO实例
16lz
2021-01-22
<?php
classDB
{
privatestatic$instance;
privatefunction__construct(){
self::$instance=newPDO("mysql:host=localhost;dbname=test;charset=utf8","root","root");
}
publicstaticfunctiongetInstance(){
if(!self::$instanceinstanceofself){
self::$instance=newself();
}
returnself::$instance;
}
privatefunction__clone(){}
}
$test1=DB::getInstance();
var_dump($test1);
在$test1=DB::getInstance()第一次调用这个时候,$instance没有任何属性,触发self::$instance=newself();然后触发构造函数,为什么返回的是一个DB的实例,而不是一个PDO实例
6 个解决方案
#1
为什么会是PDO实例?
更多相关文章
- 使用 PHP usort() 通过用户自定义的比较函数对数组进行排序
- [开心学php100天]第五天:string函数(上)
- curl获取网页内容出现乱码或为空的解决方案,另附curl_getinfo函数
- APMServ 在 Win7 下出现“APMServ-Apache 服务因 函数不正确。
- 本机PHP函数将授予我直接访问字符串部分而无需创建临时数组的权
- php的冷门函数之——call_user_func_array,func_get_args,func_n
- PHP 源码 —— is_array 函数源码分析
- php中的date函数中时区问题
- php时间函数——获取过去24小时内每个小时的节点