为什么我会收到此错误?

时间:2012-04-15 16:34:49

标签: php

  

可能重复:
  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";
            }
        }
?>

4 个答案:

答案 0 :(得分:8)

因为类常量在PHP中没有可见性。它们总是静态的,可以从外部(即公共)调用。 只需删除之前的private

答案 1 :(得分: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";
        }
    }
?>

我在您的变量中添加了$符号,并用static替换了const。

答案 2 :(得分:0)

类常量在php中不能是私有的。 如果你需要一些私有变量,可以使用私有静态$ ADMINSLATOR_ID等。

答案 3 :(得分:0)

删除位于private关键字之前的const关键字;因为类常量不能是私有的。