包含在我的类定义中不起作用

时间:2011-09-06 16:26:22

标签: php oop

这是类定义

class SimpleUserLogin
{
  private $dbc;
  private $db;

  public function __construct($dbc) //variable: DB connect resource
  {
    //load constants
    include("config.php");
    ----
    ----

这是Config.php

<?php
//define("DBNAME", "test");
    $d = "Why Are You Not Working";
    echo $d;
?>

这是实例化Class的代码。这是另一个文件

$sul = new SimpleUserLogin($con);

正如你所看到的,我之前正在定义一个Constant。但是当它无法正常工作时,我决定只在所包含的config.php文件中回显一个变量。然而,当我从这个类中实例化一个对象时,没有任何东西被打印出来!

我做错了什么? :(

更新 我编辑“config.php”代码成为CLASS定义,而不仅仅是定义常量列表。在我的SimpleUserLogin中,我尝试用__constructor函数中的配置CLASS创建一个对象:

$bee = new Config();
echo $bee->dbname;

我收到以下错误

  

注意:未定义的属性:Config :: $ dbname in   第16行的C:\ wamp \ www \ SimpleUserLogin \ SimpleUserLogin.php

我做错了什么? :(

更新 我将'config.php'重命名为'configx.php',一切正常!现在这太奇怪了!有人对此有解释吗?

2 个答案:

答案 0 :(得分:0)

您是否在任何地方调用该构造函数?

您需要$instance = new SimpleUserLogin($con);

答案 1 :(得分:0)

如果你这样做

$sul = new SimpleUserLogin($con); 

config.php内,您在其自己的构造函数中实例化该类。这是不可能的。