PHP에서 나만의 클래스를 만들 때 stdClass를 확장해야 합니까?
문제
PHP의 클래스가 명시적으로 확장될 필요는 없지만 stdClass
, 그렇게 하면 어떤 모범 사례나 이점이 있는지 궁금합니다.
연장할까 stdClass
클래스를 선언할 때?
참고로 다음을 참조하세요. PHP의 stdClass란 무엇입니까? 그리고 PHP:객체, 객체로 변환.
해결책
StdClass
비어 있으므로 확장해도 아무런 이점이 없습니다.
넌 낭비할 뿐이야 extend
당신의 __CLASS__
˙.
php --rc StdClass
Class [ <internal:Core> class stdClass ] {
- Constants [0] {
}
- Static properties [0] {
}
- Static methods [0] {
}
- Properties [0] {
}
- Methods [0] {
}
}
연장 이유는 단 하나 stdClass
이 클래스에 대한 유형 힌트를 충족시키는 것입니다. 그러나 그러한 유형 힌트는 논쟁의 여지가 있으므로 절대 사용해서는 안 됩니다.
다른 팁
아니오
STDCLASS를 확장하는 데는 재미있는 사용 방법이 있습니다. ($ 객체 인스턴스 stdClass) true를 반환하고 is_object ($ 객체)보다 3 배 빠릅니다.우리는 1 마이크로 두 번째 차이점을 말하고 있지만 불행히도, 프로젝트 전반에 걸쳐 엄격한 정책을 만들지 않는 한 쉽게 일관성이 없어 쉽게 돕는 것보다 혼란 스러울 수 있습니다.실제로 PHP 클래스가 기본적으로 STDClass를 확장하지 않는다는 사실을 알게되어 실망했습니다.나에게 의미가 있었을거야.
제휴하지 않습니다 StackOverflow