PHP说变量是不定义的,当它们不是

时间:2016-01-16 14:47:37

标签: php

我正在为我开发的项目开发一个小框架,但是当我设置测试索引页面来调用该类时,它表示变量是未定义的。我的索引看起来像这样:

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

这说明变量没有定义,但它们是。

1 个答案:

答案 0 :(得分:0)

问题是dbcFrame的子类,这意味着我无法像我想要的那样从父类中调用它。