摘要:代码示例上午构造方法输出错误信息单例模式防止克隆调试方法执行语句捕获错误消息循环引用目录当中的文件加载所有,以便启动所有服务
1.代码示例
dsn = "mysql:host=".$dbHost.";dbname=".$dbName; $this->dbn = new PDO($this->dsn, $dbUser, $dbPasswd); $this->dbn->exec("SET character_set_connection=".$charSet.", character_set_results=".$charSet."character_set_client=binary"); }catch(PDOException $e){ $this->outputError($e->getMessage()); } } /** * 输出错误信息 * @author mmy */ private function outputError($errorMessage) { throw new Exception("MySql Error:".$errorMessage); } /** * 单例模式 * @author mmy * @ return obj */ public static function getInstance($dbHost,$dbUser,$dbPasswd,$dbName,$charSet) { if(self::$_instance===null) { self::$_instance = new self($dbHost,$dbUser,$dbPasswd,$dbName,$charSet); } return self::$_instance; } /** * 防止克隆 * @author mmy */ private function __clone(){} /** * 调试方法 * @author mmy */ private function debug($debugInfo) { var_dump($debugInfo); exit(); } /** * 执行sql语句 * @author mmy * */ public function execSql($sql, $debug=false) { if($debug===true) { $this->debug($sql); } $result = $this->dbn->exec($sql); $this->getPDOError(); return $result; } /** * 捕获pdo错误消息 * @author mmy */ private function getPDOError() { if($this->dbn->errorCode() !="00000") { $arrayError = $this->dbn->errorInfo(); $this->outputError($arrayError[2]); } } }
循环引用目录当中的文件
// 加载所有Applications/*/start.php,以便启动所有服务 foreach(glob(__DIR__."/Applications/*/start*.php") as $start_file) { require_once $start_file; }
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/46825.html
摘要:是什么首先思考为什么选择是一个数据访问抽象层抽象是双重的一个是众所周知但不太重要的另一个是模糊的但是是最重要的众所周知为不同的数据库提供了统一的接口虽然这个功能本身很庞大但是对于固定程序来说不是过于重要的事情基本所有的程序都是使用统一的后端 PDO是什么 首先思考, 为什么选择PDO PDO 是一个数据访问抽象层(Database Access Abstraction Layer). ...
摘要:早在年我就开始写这个类库了,平时在工作中,将一些好的想法,一些问题的解决方法等融合进来,历时两年多,经过不断的实践,我感觉它已经很成熟了,于是它来到了你面前我的仓库地址这里假设有一个数据表,其中为主键。 早在2015年我就开始写这个PHP类库了,平时在工作中,将一些好的想法,一些问题的解决方法等融合进来,历时两年多,经过不断的实践,我感觉它已经很成熟了,于是它来到了你面前! 我的仓库地...
摘要:同样的,添加属性,修改函数构造语句的方法基类中添加方法检测有没有设置子句构建语句参数绑定返回影响的行数更新数据示例相比,语句更为简单,只需子句即可。 查询语句 (DQL) 的构造功能开发完毕,我们再给查询构造器增加一些对 DML (Data Manipulation Language) 语句的支持,如简单的 insert、update、delete 操作。 insert 我们先回顾下 ...
说明:本篇主要学习数据库连接阶段和编译SQL语句部分相关源码。实际上,上篇已经聊到Query Builder通过连接工厂类ConnectionFactory构造出了MySqlConnection实例(假设驱动driver是mysql),在该MySqlConnection中主要有三件利器:IlluminateDatabaseMysqlConnector;IlluminateDatabaseQuery...
阅读 1204·2019-08-29 17:14
阅读 1503·2019-08-29 12:12
阅读 599·2019-08-29 11:33
阅读 3145·2019-08-28 18:27
阅读 1333·2019-08-26 10:19
阅读 801·2019-08-23 18:18
阅读 3362·2019-08-23 16:15
阅读 2432·2019-08-23 14:14