클래스 생성자 함수 내에 클래스 상수를 정의 할 수 있습니까? (특정 조건에 따라)클래스 생성자에서 상수를 정의하는 방법은 무엇입니까?
6
A
답변
8
이것은 클래스 상수의 개념에 위배됩니다. 특정 인스턴스에 종속되어서는 안됩니다. 대신 변수를 사용해야합니다.
당신이 이것을 주장하고 매우 모험적이며 PHP 확장을 설치할 수 있다면 런타임에 클래스와 상수를 수정할 수있는 runkit 확장을 살펴볼 수 있습니다. 이 문서를 참조하십시오 : http://www.php.net/manual/en/function.runkit-constant-add.php
3
나는 당신이 할 수 있다고 생각하지 않습니다.
처음에는 생성자가없는 정적 컨텍스트에서 클래스 상수를 사용할 수 있습니다.
대신 변수를 사용해야합니다. 바로 변수가 있어야합니다.
1
은 이쪽을 봐보십시오 :
http://php.net/manual/en/language.oop5.constants.php
http://php.net/manual/en/language.oop5.static.php
희망이 도움이됩니다.
+0
public static $ variable – Andrew
관련 문제
- 1. Perl에서 별도의 파일로 상수를 정의하는 방법은 무엇입니까?
- 2. 전역 상수를 정의하는 drupal 방법은 무엇입니까?
- 3. UIColor 상수를 정의하는 Objective C
- 4. 물고기에서 상수를 정의하는 방법? 쉬에서
- 5. phpDocumentor를 사용하여 PHP 상수를 정의하는 올바른 방법은 무엇입니까?
- 6. JAX-WS를 사용하여 서비스에서 상수를 정의하는 방법은 무엇입니까?
- 7. 리눅스 사용자 계정에 대한 변수와 상수를 정의하는 방법은 무엇입니까?
- 8. PHP에서 클래스 속성에 클래스 상수를 사용하는 방법은 무엇입니까?
- 9. 크로스 파일 상수를 정의하는 C++ 최선의 방법
- 10. 클래스 속성을 올바르게 정의하는 방법은 무엇입니까?
- 11. 생성자에서 배열 상수를 사용하는 중 컴파일러 오류가 발생합니다.
- 12. C#에서 지수 상수를 지정하는 방법은 무엇입니까?
- 13. as3에서 enum을 정의하는 방법은 무엇입니까?
- 14. 클래스 또는 생성자에서 멤버를 초기화해야합니까?
- 15. 상수를 문자열로 평가하는 방법은 무엇입니까?
- 16. if 문의보기에 정보를 표시하는 방법은 무엇입니까? 클래스 ModelError의 생성자에서
- 17. 내부 클래스 생성자에서 외부 클래스의 정적 멤버에 액세스하는 방법은 무엇입니까?
- 18. 값 생성자에서 클래스 제약 조건 지정
- 19. 무스 생성자에서 오류를보고하는 방법은 무엇입니까?
- 20. 생성자에서 'this'포인터를 처리하는 방법은 무엇입니까?
- 21. 생성자에서 const 필드를 초기화하는 방법은 무엇입니까?
- 22. 클래스 메서드의 클래스 생성자에서 만들어진 객체 사용
- 23. 나는 PHP에서 클래스 CONST를 정의하는 문자열 연결을 사용할 수 있습니까?
- 24. C++을 사용하여 클래스 내부에서 함수를 정의하는 방법은 무엇입니까?
- 25. BindingList를 정렬하기 위해 PropertyDescriptor에 클래스 수준 속성을 정의하는 방법은 무엇입니까?
- 26. Interface Builder와 코드간에 상수를 공유하는 방법은 무엇입니까?
- 27. 경고없이 Ruby 상수를 재정의하는 방법은 무엇입니까?
- 28. CodeIgniter에서 이미지 용 상수를 만드는 방법은 무엇입니까?
- 29. phpdoc : 상수를 문서화하는 올바른 방법은 무엇입니까
- 30. LINQ에서 변수를 정의하는 방법은 무엇입니까?
PHP에서 생성자에서 설정할 수있는'static final'을 찾았 습니다만, 불행하게도 php 상수는 약간 다릅니다. –
또한 상수 개념에 반대하지만, PHP에서는 동적으로 상수를 정의 할 수 있습니다(). –
다른 상수의 값으로 값이 구성된 문자열 상수를 정의하려는 경우 (공통 부분을 DRY하기 위해) 유용 할 수 있습니다. PHP는 표현식 (예 : 두 문자열의 연결)을 상수 값으로 허용하지 않기 때문에 생성자에서이 작업을 수행하는 것이 유용했을 것입니다. –