PHP登台服务器上的静态公共类成员

时间:2012-03-14 06:15:49

标签: php static public staging

我们的登台服务器正在生成一个解析错误,我想知道我们的登台服务器是否让我们的开发团队使用了错误的语法。

以下是导致解析错误的代码':

       // GLOBALS.PHP
  <?php
       session_start();

      class ItemsFromBronzeAge  {
               static public $ITEMNAMELABEL = "ItemName";
      }

      class Labels {
                   static public $USER_PROMPT_ITEMNAME = "Item name here....";
      }
   ?>

我们将上面的globals.php包含在第二个文件中 - 名为index.php - 就像这样:

             // INSIDE OF INDEX.PHP
      <?php
        require_once 'globals.php'; // variables and statics used throughout

             // the next line is line #12 in the 'Parse error' message below
        $_SESSION[ItemsFromBronzeAge::$ITEMNAMELABEL] = Labels::$USER_PROMPT_ITEMNAME;

      ?>

在我们的1and1.com登台服务器上运行index.php时出现解析错误:

       " Parse error: syntax error, unexpected ']', 
         expecting '(' in index.php on line 12"

为了开车回家,我们将index.php中代码中的第12行更改为此,并且1and1.com临时服务器不再报告解析错误&#39;:

    // WE CHANGED FROM THIS:
    $_SESSION[ItemsFromBronzeAge::$ITEMNAMELABEL] = Labels::$USER_PROMPT_ITEMNAME;

    // TO THIS AND THE 'PARSE ERROR' GOES AWAY -- THIS CODE WORKS ON THE STAGING SERVER:
    $_SESSION["ItemName"] = "Item name here....";

我们的团队没有办法回顾所有源代码,不再使用数组索引的常量,而是回归使用字符串文字作为数组索引。

我的问题是 - 我们的pre-staging开发服务器是否允许我们使用上面不正确的语法,或者1and1.com是否有某种PHP设置,或者.......?< / p>

我的意思是使用公共静态类成员作为数组索引 - 很常见。

1 个答案:

答案 0 :(得分:1)

您在两个系统上运行的是哪个版本的PHP?

听起来它可能与不同版本的PHP有关。