2014-04-25 156 views
1
Class Config{ 
public $levels   = 10; 
public $points_difference = 100; 
public $diff_level  = 3; 
public $timer_seconds  = 60; 
public $maxBonus   = 0; 
public $maxScore   = 0; 
public $maxTotalScore  = 0; 
public $pointsLevel  = $this->points_difference * $this->diff_level; 
} 

我得到解析错误:语法错误,最后一行出现意外的T_VARIABLE错误。 有什么想法?解析错误:语法错误,意外T_VARIABLE - 公共变量

+0

你应该在构造函数写这个。 'public $ pointsLevel = $ this-> points_difference * $ this-> diff_level;' –

回答

1

在初始化过程中,您不能使用$this关键字。

如果需要,您需要使用构造函数。

Class Config{ 
    public $levels   = 10; 
    public $points_difference = 100; 
    public $diff_level  = 3; 
    public $timer_seconds  = 60; 
    public $maxBonus   = 0; 
    public $maxScore   = 0; 
    public $maxTotalScore  = 0; 

    public $pointsLevel; //no initialisation here 

    function __construct() { 
      $this->pointsLevel  = $this->points_difference * $this->diff_level; 
    } 
} 
0

不能使用物业的
$this从下述溶液中使用:

<?php 
class Config 
{ 

    public $levels   = 10; 
    public $points_difference = 100; 
    public $diff_level  = 3; 
    public $timer_seconds  = 60; 
    public $maxBonus   = 0; 
    public $maxScore   = 0; 
    public $maxTotalScore  = 0; 
    public $pointsLevel; 

    public function __construct() 
    { 
     $this->$pointsLevel = $this->points_difference * $this->diff_level; 
    } 
} 
相关问题