我正在为我开发的项目开发一个小框架,但是当我设置测试索引页面来调用该类时,它表示变量是未定义的。我的索引看起来像这样:
error_reporting(E_ALL);
ini_set("display_errors", 1);
require_once('settings.php');
$base = $settings['basedir'];
require_once($base.'/framework.php');
$cframe = new cFrame($base, $settings);
我的framework.php看起来像这样:
class cFrame {
public function __construct($base, $settings){
$this->baseDir = $base;
$this->settings = $settings;
require_once($this->baseDir.'/db.php');
require_once($this->baseDir.'/layout.class.php');
$this->layout = new layoutFinder($this->baseDir.'/layout');
$this->db = new database;
$this->dbc = $db->connectDB();
echo $baseDir;
}
}
尝试运行时收到的错误消息是:
警告:缺少参数1的cFrame :: __ construct(),调用 /var/www/cFrame/coreFrame/framework.php在第11行并在中定义 第5行的/var/www/cFrame/coreFrame/framework.php
警告:缺少cFrame :: __ construct()的参数2,调用 /var/www/cFrame/coreFrame/framework.php在第11行并在中定义 第5行的/var/www/cFrame/coreFrame/framework.php
注意:未定义的变量:基于 第6行的/var/www/cFrame/coreFrame/framework.php
注意:未定义的变量:设置 第7行的/var/www/cFrame/coreFrame/framework.php
这说明变量没有定义,但它们是。
答案 0 :(得分:0)
问题是db
是cFrame
的子类,这意味着我无法像我想要的那样从父类中调用它。