2012-04-15 219 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关键字前面;因为类常量不能是私有的。

相关问题