protect
封装是为了方便以后复用
默认是不开启嘛,如果你传了值,就开启
DB_HOST是在config.php文件内定义的常量,意思为数据库地址
简单理解$dbCondig是形参,config是实参。如果没有实参传入,就用形参默认的配置参数。
你自己自定义的错误方法里并没有exit呀
因为在下面new PDO的时候第四个参数,如果你new的时候传了前面三个,不传第四个,那就不存在这个变量,就会报错,所以这样写的作用就是你不传第四个参数的时候就把它设为空,这个变量就存在了就不会报错了
嗯,视频代码写的有问题,if判断条件为真才会执行下面,为假则不执行了。他判断反了
这是异常捕捉,抛出异常,捕捉到异常后,try语句块里其余部分不执行,如果是在执行代码的中间并没有用try-catch语句块包裹,则将异常交给父级处理,自动跳出此函数
这个是PDO链接的第四个参数,$configs中的数据是从$config中得到的,$configs['params']是其实是$congfig['params'],在把$congfig的数据赋给$config后有个判断$config['parmas']是否为空empty($config['parmas'])也就是这一句:
self::$config = $dbconfig;
if(empty($config['params'])){
self::$config['params'] = array(); //定义$config['params']为一个数组
}
if(!isset(self::$link)){
$configs = self::$config;
if(self::$pconnect){
$configs['params'][constant("PDO::ATTR_PERSISTENT")] = true;//开启长连接
}
大概想通了,
if(empty($config['params'])){ self::$config['paramcs'] = array(); } if(!isset(self::$link)){ $configs = self::$config; if (self::$pconnect){ //开启长连接,添加配置数组中 $configs['params'][constant("PDO::ATTR_PERSISTENT")] = true; }
就是说如果数组$config[]中的params参数为空,那么将新建参数params且定义其类型为数组这样就成为了一个二维数组(该参数相当于PDO(,,,$options))
返回一个常量,写起来比较规范
条件应该取反吧
看了老师上传的文件 已经明白了:)
都可以,爱用哪个用哪个
作用是,返回一个常量的值。
在方法上方输入/**敲回车就好了
看不懂
class User { //静态变量保存全局实例 private static $_instance = null; //私有构造函数,防止外界实例化对象 private function __construct() { } //静态方法,单例统一访问入口 static public function getInstance() { if (is_null ( self::$_instance ) || isset ( self::$_instance )) { self::$_instance = new self (); } return self::$_instance; } }
使用单例模式可以避免大量的new操作。因为每一次new操作都会消耗系统和内存的资源。
ctrl+shift+j
^-^...
是配置PDO连接的相关属性,不是用户名,密码,数据库这些
^-^...
在Java中,用try catch来捕获异常,字面意思就是尝试捕捉
非常赞同
很多 web 应用程序通过使用到数据库服务的持久连接获得好处。持久连接在脚本结束后不会被关闭,且被缓存,当另一个使用相同凭证的脚本连接请求时被重用。持久连接缓存可以避免每次脚本需要与数据库回话时建立一个新连接的开销,从而让 web 应用程序更快。
代码这两天慕课网就会上传,我已经把代码提交给imooc了,敬请期待通知
^-^...