语法错误T_Variable

时间:2015-11-27 09:06:15

标签: php syntax

 <?php
     class CSS {
         public $base   = '/public/stylesheets';
         public $global = $base . '/global.css'; 
     }
 ?>

当我打开我的网站时,会显示“Parse error: syntax error, unexpected '$base' (T_VARIABLE)

怎么了?

2 个答案:

答案 0 :(得分:3)

在php中,您不能在类属性声明期间使用任何运算符或引用变量。您必须在类构造函数中初始化属性值:

class CSS {
      public $base   = '/public/stylesheets';
      public $global; 

      public function __construct() {
          $this->global = $this->base . '/global.css';
      }
}

这个php手册引用中指定:

  

类成员变量称为“属性”。你也可以看到它们   引用使用其他术语,如“属性”或“字段”,但   出于本参考的目的,我们将使用“属性”。他们是   使用关键字public,protected或private之一定义,   然后是正常的变量声明。 此声明可能   包含初始化,但此初始化必须是常量   值 - 也就是说,它必须能够在编译时进行评估   不得依赖于运行时信息才能进行评估。

参考。 http://php.net/manual/en/language.oop5.properties.php

答案 1 :(得分:1)

您不能在另一个变量中使用变量。使用类常量,如下所示:

<?php
class CSS {
    const CSSPATH = '/public/stylesheets';
    public $base   = '/public/stylesheets';
    public $global = CSSPATH . '/global.css'; 
}
?>