빈 생성자를 정의하거나 PHP에서 생성자 정의를 완전히 빠뜨리는 것이 가장 좋습니다. 난 단지 return true;
으로 생성자를 정의하는 습관을 가지고 있는데, 비록 내가 생성자를 필요로하지 않는다고하더라도 - 완성을 위해서입니다.PHP 빈 생성자
답변
생성자가 필요없는 경우 더 이상 코드를 작성할 필요가 없습니다. 그것을 쓸 때 비워 두십시오 ... 참된 것은 목적이 없습니다.
생성자는 항상 정의 된 클래스의 인스턴스를 반환합니다. 따라서 생성자 내부에서 "반환"을 사용하지 마십시오. 마지막으로 당신이 gona를 사용하지 않는다면 그것을 정의하지 않는 것이 좋습니다.
개체를 인스턴스화해서는 안되는 경우에만 빈 생성자를 정의해야합니다. 이 경우 __construct()
을 비공개로 설정하십시오.
편집 : PHP는 이제 다른 OOP 프로그래밍 언어처럼 동작하기 때문에
이전의 대답은 더 이상 유효합니다. 생성자 은 인터페이스의 일부가이 아닙니다. 그러므로 당신은 지금 당신이
유일한 예외 어떠한 문제없이 선호하는 방법을 재정의 할 수 있습니다입니다 :
interface iTest
{
function __construct(A $a, B $b, Array $c);
}
class Test implements iTest
{
function __construct(A $a, B $b, Array $c){}
// in this case the constructor must be compatible with the one specified in the interface
// this is something that php allows but that should never be used
// in fact as i stated earlier, constructors must not be part of interfaces
}
PREVIOUS OLD-유효하지-더이상 답 :이
을 빈 생성자와 생성자가 전혀없는 중요한 차이입니다.
class A{}
class B extends A{
function __construct(ArrayObject $a, DOMDocument $b){}
}
VS
class A{
function __construct(){}
}
class B extends A{
function __construct(ArrayObject $a, DOMDocument $b){}
}
// error B::__construct should be compatible with A constructor
"A"에 정의 된 생성자가 있고 B에 정의되고 비어있는 생성자가있는 경우 필수적으로 생성자를 제거 할 수 있지만 부모가 상속하는 경우에는 생성자를 제거해야합니다. 건설자. 단점은 빈 생성자를 "항상"또는 "결코"포함해서는 안되며, 하나 또는 다른 것을 할 때 항상 같은 것을 의미하지는 않는다는 것입니다. 그것은 모두 상황에 관한 것입니다. – Jason
둘 사이에 차이가 있습니다. 빈 __construct()
함수를 작성하면 상속 된 __construct()
을 상위 클래스에서 덮어 씁니다.
그래서 필요 없으면 부모 생성자를 명시 적으로 덮어 쓰지 않으려면 전혀 쓰지 마십시오.
- 1. NULL을 반환하는 PHP 생성자
- 2. PHP 용 DAL 생성자
- 3. JPA 엔티티에서 빈 생성자 및 설정자
- 4. 비트 맵을 사용하는 동안 빈 생성자
- 5. 생성자
- 6. PHP 빈 페이지 도움말?
- 7. PHP - 빈 배열
- 8. PHP : 빈 페이지 얻기
- 9. 빈 PHP 변수
- 10. PHP : 빈 줄
- 11. PHP 빈 개체 구성원
- 12. PHP : imagemagick이 빈 이미지를 생성합니다.
- 13. PHP 문자열 빈 공간없이 교체
- 14. PHP mysql_query가 빈 값을 반환합니다.
- 15. PHP 오류없이 빈 문자열에 추가
- 16. PHP mysql_select_db가 빈 페이지를 반환합니다
- 17. PHP 업데이트 테이블은 빈 필드를
- 18. Ninject에서 생성자 생성자 상속
- 19. PHP - 생성자 함수가 false를 반환하지 않습니다.
- 20. 생성자
- 21. Kohana 3 - 생성자
- 22. PHP 빈 ($ val에) 함수는 값이 0
- 23. PHP MYSQL - 삽입시 빈 변수가 실패합니다.
- 24. PHP 사이트는 빈 페이지로 계속 열어 둡니다.
- 25. PHP session_write_close()로 인해 빈 응답이 발생합니다.
- 26. 가끔씩 빈 페이지가 표시되는 PHP 스택
- 27. 빈 페이지가 발생하는 오류가있는 PHP 스크립트
- 28. MySQL과 PHP - 빈 문자열 대신 NULL을 삽입하십시오.
- 29. 빈 PHP 파일 다운로드 때때로 나는 사이트
- 30. Symfony PHP 프레임 워크가 빈 main.css를 만듭니다
생성자의 반환 값은 완전히 무시됩니다. – KingCrunch
실제로 내가 생성자 내부에서 생성자를 반환하는 것을 발견하면 절대 코드를 병합하지 않을 것입니다. –