PHP에서 생성자에서 예외를 던질 수 있다는 것을 알고 있지만 어떻게해야합니까? 예를 들어 매개 변수의 값이 예상과 다른 경우
또는 메소드가 호출 될 때까지 예외 발생을 연기해야합니까? 두 경우 모두 장점과 단점은 무엇입니까?
PHP에서 생성자에서 예외를 던질 수 있다는 것을 알고 있지만 어떻게해야합니까? 예를 들어 매개 변수의 값이 예상과 다른 경우
또는 메소드가 호출 될 때까지 예외 발생을 연기해야합니까? 두 경우 모두 장점과 단점은 무엇입니까?
답변:
생성자가 잘못된 매개 변수로 호출되면 예외를 던져야합니다. 그렇지 않으면 예상대로 작동하지 않는 나쁜 개체가 생길 수 있습니다.
물론!!
오브젝트 구성을위한 매개 변수가 유효하지 않거나 계약에 따라 유효하지 않은 경우 예외를 처리해야합니다. 개체가 나쁜 데이터로 구성되어 호출자가 계속 진행하도록 허용 하면 많은 문제 가 발생할 수 있다는 점을 알고 흐름을 진행하는 것은 좋지 않습니다 .
"빠르고 빠르다" 는 것이 좋습니다.
객체를 인스턴스화하기 전에 매개 변수 세트의 유효성을 검사하지 않는 이유는 무엇입니까? 그렇게하면 객체가 생성되므로 장애로 인해 발생할 수있는 부작용을 제거 할 수 있습니다.
생성자에서 항목을 확인하고 예외를 던질 수 있다는 것을 알고 있지만 실패하지 않는 방식으로 생성자를 작성하는 것을 선호합니다. 객체를 인스턴스화하기 전에 매개 변수 유효성 검사를 수행하여 생성자가 실패하지 않고 예외를 던질 수 있습니다. 또한 일반적으로 생성자에서 새 객체를 인스턴스화하려고 시도하지 않고 필요에 따라 인스턴스화하도록 선택합니다.
그냥 내 의견. PHP는 많은 자유를 제공합니다-즐기십시오!