2012-04-15 4 views
0

Possible Duplicate:
PHP Class Constants - Public, Private or Protected?왜이 오류가 발생 했습니까?

구문 분석 오류 :

코드 T_VARIABLE을 기대 구문 오류, 예상치 못한 T_CONST -

<?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

+0

조금 늦었지만 PHP 7.1의 정수는 private 일 수 있습니다. –

답변

7

클래스 상수는 PHP에서 가시성을 가지고 있지 않기 때문에. 그것들은 항상 정적이며 외부 (즉 public)에서 호출 할 수 있습니다. 이전에 private을 삭제하면됩니다.

+2

"PHP 7.1.0에서 visibility modifiers가 클래스 상수로 허용됩니다."- http://php.net/manual/en/language.oop5.constants.php –

0

클래스 상수는 PHP에서 private 일 수 없습니다.

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

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

나는 당신의 변수에 $ 기호를 추가하고 정적으로 const를 대체 : 일부 개인 변수를 필요로하는 경우 는, 어쩌면

1

귀하의 코드는 다음과 같아야 등 개인 정적 $의 ADMINSLATOR_ID를 사용합니다.

+1

Na, 그 중 하나는 작동하지 않습니다. –

0

private 키워드는 const 키워드 바로 앞에 있습니다. 왜냐하면 클래스 상수는 private이 될 수 없기 때문입니다.

관련 문제