2012-11-23 164 views
2

我在課堂上有這個變量:(這部作品)函數內部變量

public $logFname = '_fail.log'; 

但我需要這樣的:(不工作)

public $logFname = date('d').'_fail.log'; 

爲什麼?

回答

5

定義變量時,不能使用函數。你應該在某個地方初始化它。

你應該是這樣做的:

public $logFname; 

public function __construct() 
{ 
    $this->logFname = date('d').'_fail.log'; 
} 
+3

參見http://docs.php.net/manual/en/language.oop5.properties.php:這個聲明可能包括初始化,但是這個初始化必須是一個常量值 – VolkerK

3

你應該首先聲明變量,然後定義它。

public $logFname; 

然後使用它像:

$this->logFname = date('d').'_fail.log'; 
2
class Log { 
    public $logFname = '_fail.log'; 

    public function __construct() { 
     $this->logFname = date('d').'_fail.log'; 
    } 
} 

當你在一個類中聲明的變量不能使用任何功能。