2015-08-24 49 views
0

我必須使用PHP包()函數做我的代碼中的東西。但是當我在課堂上做時,我會看到下面的錯誤。而如果我正常使用它(沒有在課堂上使用),它的工作原理沒有任何錯誤。語法錯誤,同時使用PHP包()函數內部類

class encryption 
{ 
    $my_key = pack('H*', "123456"); 
} 

,這是錯誤:

Parse error: syntax error, unexpected T_VARIABLE, expecting T_FUNCTION in ... 

另外,如果我用public$my_key,我會得到一個新的錯誤。

class encryption 
{ 
    public $my_key = pack('H*', "123456"); 
} 

錯誤:

Parse error: syntax error, unexpected '(', expecting ',' or ';' in ... 

什麼是錯誤的,我的代碼?

+0

的人,你不能用一個函數來設定值的全局變量 –

回答

2

爲函數外的類定義變量時,不能使用其他函數來定義它。如果您在初始化時需要該值,請在構造函數中設置該值。然後,您的類將是這樣的:

class encryption 
{ 
    public $my_key; 

    public function __construct() { 
     $this->my_key = pack('H*', "123456"); 
    } 
} 
0
class encryption 
{ 
    public $my_key; 

    public function __construct() 
    { 
     $this->my_key = $this->pack('H*', "123456"); 
     // will always be executed when you create an object of this class 
    } 

    private function pack($arg1, $arg2) 
    { 
     // return something 
    } 
}