PHP 인스턴스 메서드의 차이점은 다음과 같습니다. 1. 정적 메서드에는 new가 필요하지 않지만 인스턴스 메서드에는 new가 필요합니다. 2. 정적 메서드에서는 비정적 속성을 호출할 수 없습니다. 3. 정적 메서드에는 메모리에 복사본이 하나만 있습니다. PHP 수명에서 리소스는 주기 내에서 공유되며 인스턴스 메서드는 메모리에 여러 복사본을 가질 수 있습니다.
추천: "PHP 비디오 튜토리얼"
PHP의 정적 메소드와 인스턴스 메소드의 차이점
PHP 객체지향 프로그래밍에서 우리는 종종 클래스와 메소드에 접하게 되는데, 그중에서도 정적 메서드와 인스턴스 메서드(비정적 메서드) 차이점은 무엇입니까? 보다 적절하게 선택하고 적용하는 방법은 무엇입니까? 아래 비교를 참조하세요.
차이 | 정적 메서드(정적) | 인스턴스 메서드 |
클래스 이름::메서드 이름인 | 를 호출하는 데 새로운 항목이 필요하지 않습니다. 예: 1User::find();참고: 비정적 속성은 정적 메서드에서 호출할 수 없습니다. |
새로운 것이 필요합니다. 예: 12$userObj = new User;$userObj->find(); |
Storage | 메모리에는 복사본이 하나만 있으며 PHP 수명 주기 내에서 리소스가 공유됩니다. 참고: 클래스가 로드될 때 정적 메서드와 속성도 로드되므로 정적 메서드가 너무 많으면 더 많은 메모리를 소비하게 됩니다. |
새 시간마다 독립된 공간이 열립니다. 즉, 기억 속에 여러 복사본이 있게 됩니다. |
성능 | 직접 호출, 공간 오픈 불필요, 기타 작업이 필요 없어 시간 및 효율면에서 더 좋습니다 | 공간 오픈 및 기타 작업에 시간이 좀 걸립니다 |
공유 | 같은 공간을 공유하는 것, 같은 것 data 이므로 일부 시나리오에서는 정적 메서드를 사용하는 것이 더 적합합니다. | 여러 인스턴스가 동일한 공간과 데이터를 공유하지 않습니다. |
체인 쓰기 | 지원되지 않음 |
지원됩니다. 예: 1$userObj->fields('uid')->where('uid>0')->find(); |
위 내용은 PHP 인스턴스 메소드의 차이점은 무엇입니까의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!