初始化后PHP对象为null

时间:2013-08-21 20:39:36

标签: php class object

我有类文件:

class Settings
{
public $siteName;
public $siteAddr;
public $dbUrl;
public $dbName;
public $dbPass;

public function __construct()
{
$siteName = 'Welcome';
$siteAddr = 'http://site.com';
$dbUrl = 'test';
$dbName = 'base';
$dbPass = '123';
}
}

尝试在其他文件中使用它:

require_once('settings.php');
$cfg = new Settings();
var_dump($cfg); // <--- everywhere is null...

为什么它只包含空值?

2 个答案:

答案 0 :(得分:3)

而不是

$siteName = 'Welcome';

你需要

$this->siteName = 'Welcome';

否则你只是在构造函数的范围内创建变量,而不是初始化的对象成员。

答案 1 :(得分:0)

您在构造函数中使用的变量是局部范围变量。要引用课程字段,请使用$this->fieldname