2012-04-15 262 views
0

Possible Duplicate:
PHP Class Constants - Public, Private or Protected?爲什麼我得到這個錯誤?

解析錯誤:語法錯誤,意外T_CONST,在

代碼期待T_VARIABLE -

<?php 
    // Data Transfer Object 
     class DTO { 
      private const ADMINSLATOR_ID = 'Adminslator'; 
      private const ADMINSLATOR_PASSWORD = 'Secret'; 

      function __construct(){ 
       echo "I am the DTO Object"; 
      } 
     } 
?> 
+0

常量總是公開的。你不能有私人的。 – mario 2012-04-15 16:37:51

+0

稍晚一點,但從PHP 7.1開始,常量可以是私有的。 – 2017-09-13 16:51:09

回答

7

因爲類常量沒有在PHP中的知名度。它們始終是靜態的,可以從外部(即公共)調用。 只需刪除private之前。

+2

「從PHP 7.1.0開始,對類常量允許使用可見性修飾符。」 - http://php.net/manual/en/language.oop5.constants.php – 2017-06-14 15:12:06

0

類常量不能在php中私有。 如果你需要一些私有變量,也許還可以利用私人靜態$ ADMINSLATOR_ID等

1

您的代碼應該是這樣的:

<?php 
// Data Transfer Object 
    class DTO { 
     private static $ADMINSLATOR_ID = 'Adminslator'; 
     private static $ADMINSLATOR_PASSWORD = 'Secret'; 

     function __construct(){ 
      echo "I am the DTO Object"; 
     } 
    } 
?> 

我加$符號來變量和靜態常量代替。

+1

Na,那也不管用。 – 2012-04-15 16:41:21

0

刪除private關鍵字已放在const關鍵字前面;因爲類常量不能是私有的。

相關問題