2012-03-14 64 views
0

我們的臨時服務器正在生成語法錯誤,並且我想知道,如果我們的分期預服務器已經讓我們的開發團隊擺脫不正確的語法。靜態公共類成員PHP臨時服務器上

下面是導致 '語法錯誤' 的代碼:

 // 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" 

只是爲了推動這個家,我們CH在index.php來這個代碼和1and1.com臨時服務器anged線#12不再報告「解析錯誤」:

// 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...."; 

沒有辦法我們的團隊是通過我們的所有的源代碼回去,放棄使用數組索引的常量並將字符串文字用作數組索引。

我的問題是 - 有我們的分期預開發服務器已經讓我們擺脫不正確的語法上面,還是1and1.com有某種PHP的設置失衡了,還是......?

我的意思是使用公共靜態類成員作爲數組索引的 - 是家常便飯。

+1

看不到任何語法錯誤,我的本地測試正常工作。你可能應該使用類常量而不是靜態公共屬性,例如'const ITEMNAMELABEL =「ItemName」;'。哪些版本的PHP正在使用? – Phil 2012-03-14 06:27:15

+1

我認爲這是因爲「靜態公共」應該是公共靜態$ var =「Something」; – 2012-03-14 06:27:36

+0

@菲爾,那是我們願意做的100%改變,謝謝,1and1還沒有回到我們身邊,等待對開發工作根本不利。 Sheikh,我會在1and1.com上的暫存服務器上運行一個簡短的測試用例,看看是否將從「靜態公共」到「公共靜態」建議的順序顛倒過來 - 對於我們所知道的,我們的預先準備服務器只是讓我們擺脫'靜態公共$ var =「theText」 - 我會回來後測試它 - 謝謝! – wantTheBest 2012-03-14 06:32:23

回答

1

哪個版本的PHP,你在兩個系統上運行?

這聽起來像它可能與不同版本的PHP。

+0

我們的預登臺服務器正在運行PHP版本5.3.5;當我在我們的1and1.com賬戶上查看'Global PHP'版本時,它被設置爲版本4.並且有一個選擇'版本5'(沒有顯示子版本,只是'版本5'),因此我選擇了並保存它。現在將重新運行上面我的問題相同的代碼,並報告結果.... – wantTheBest 2012-03-14 06:42:14

+0

DAGNABBIT MATT你做了我們好人!登臺服務器現在顯示我們的網站!真厲害。生活很好。現在回到編碼!多謝,夥計! – wantTheBest 2012-03-14 06:49:10

+0

不錯!祝你生意順利。 – 2012-03-14 06:59:59