【发布时间】:2014-07-14 19:19:28
【问题描述】:
突然之间,一个运行了很长时间的脚本停止了,没有任何错误。我已将其归结为 __contruct 方法,但无法理解为什么会发生这种情况。简化版的代码....
<?php
class ex1 {
protected $dbh;
function __construct(){
$this->dbh = new PDO('mysql:host=localhost;dbname=db', 'user', 'pw', array(PDO::ATTR_ERRMODE => PDO::ERRMODE_WARNING));
}
}
?>
<?php
include('ex1.class.php');
class ex2 extends ex1 {
somefunc(){
is_object($this->dbh); // = FALSE
}
}
?>
PDO 构造函数自己工作,实际上我在 ex1 构造函数中的任何内容似乎都没有运行,并且日志中没有错误(设置为 E_ALL 和 E_STRICT)。
有什么想法吗?
【问题讨论】:
-
类
ex1()没有被它的子ex2()实例化,也没有调用父的构造,所以ex1()构造没有被调用 -
如果您感到高兴并且知道...语法错误
标签: php constructor php-5.3