我有类文件:
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...
为什么它只包含空值?
答案 0 :(得分:3)
而不是
$siteName = 'Welcome';
你需要
$this->siteName = 'Welcome';
否则你只是在构造函数的范围内创建变量,而不是初始化的对象成员。
答案 1 :(得分:0)
您在构造函数中使用的变量是局部范围变量。要引用课程字段,请使用$this->fieldname
。