0

我有类文件:

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...

为什么它只包含空值?

4

2 回答 2

3

代替

$siteName = 'Welcome';

你需要

$this->siteName = 'Welcome';

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

于 2013-08-21T20:41:06.737 回答
0

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

于 2013-08-21T20:42:10.023 回答