php类静态变量,concat

sha*_*hay 0 php variables static class

有2级

第一

<?php
  require_once( 'error/DisconnectedHandler.php' );
  require_once( 'error/NoSuchRequestHandler.php' );

  class NetworkManager {

  public static final $RESPONSE_JUMP = 1000;
  ....
Run Code Online (Sandbox Code Playgroud)

第二

<?php
    require_once( '../NetworkManager.php' );

    class DisconnectedHandler implements Handler{
        public static $TYPE          = 2000;
        public static $RESPONSE_TYPE = self::$TYPE + NetworkManager::$RESPONSE_JUMP;
        public static $VER           = 0;
Run Code Online (Sandbox Code Playgroud)

我在这一行得到了一个错误

public static $RESPONSE_TYPE = self::$TYPE + NetworkManager::$RESPONSE_JUMP;
Run Code Online (Sandbox Code Playgroud)

eclipse IDE用红色涂上$ TYPE并说

Multiple annotations found at this line:
- syntax error, unexpected '$TYPE', expecting 
 'identifier'
- syntax error, unexpected '$TYPE', expecting 
 'identifier'
Run Code Online (Sandbox Code Playgroud)

那个正确的语法是什么?

先谢谢了

Ste*_*rig 7

静态变量声明(以及类常量)必须按字面定义,并且不能包含表达式,因为它们在运行时之前进行计算.

您必须DisconnectedHandler::$RESPONE_TYPE在构造函数中初始化您,或者更可能在静态初始化方法中初始化您.