2013-08-21 108 views
0

後,我有類文件:PHP對象爲空初始化

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

爲什麼它僅包含空值?

回答

3

而不是

$siteName = 'Welcome'; 

你需要在構造函數中,未初始化對象成員的範圍

$this->siteName = 'Welcome'; 

否則你剛剛創建的變量。

+0

哇...非常感謝你! :) – FireForce

+0

必須等12分鐘才能接受大聲笑... – FireForce

+0

不急。我會等待:)謝謝 –

0

您在構造函數中使用的變量是本地作用域變量。要引用類字段,請使用$this->fieldname