PHP에서 $this의 근접성 원칙: 1. $this의 근접성 원칙은 비공개 속성뿐만 아니라 비공개 멤버 메서드에도 적용됩니다. 2. $this는 호출된 객체를 참조하지만, private 속성과 메서드를 다룰 때는 근접성 원칙을 따르며 해당 메서드가 속한 클래스를 참조하게 됩니다.
PHP에서 __sleep 메소드 사용: 1. 클래스 외부에서 serialize()가 호출되면 자동으로 호출됩니다. 2. __sleep() 메서드는 일반적으로 커밋되지 않은 데이터 또는 유사한 정리 작업을 제출하는 데 사용됩니다. 이 기능은 큰 개체가 있지만 완전히 저장할 필요가 없는 경우에 유용합니다.
PHP에서 __isset 메소드 사용: 1. isset()은 변수가 설정되어 있는지 확인하는 데 사용되는 함수입니다. 전달된 변수가 존재하면 true를 반환하고, 그렇지 않으면 false를 반환합니다. 2. 액세스할 수 없는 속성에 대해 isset() 또는empty()를 호출하면 자동으로 호출됩니다.
PHP 매직 메소드 __invoke 소개: 1. 객체 이름을 직접 호출합니다. 메소드가 사용되면 __invoke() 메소드가 호출됩니다. 2. 객체 자체를 함수로 직접 사용할 수 없습니다. __invoke() 메서드를 제거하고 객체를 계속 메서드로 사용하면 오류가 보고됩니다.
__get은 PHP에서 멤버 속성을 얻습니다. 1. 전용 멤버 속성은 객체 외부에서 얻을 수 있습니다. __get()은 현재 클래스의 전용 멤버 변수를 얻을 뿐만 아니라 이 메서드에서 다른 작업을 수행할 수도 있습니다. 2. 멤버 속성이 비공개로 캡슐화되지 않은 경우 개체 자체는 이 메서드를 자동으로 호출하지 않습니다.
PHP의 __destruct 메소드 소개: 1. 클래스가 소멸될 때 자동으로 트리거됩니다. 이 메소드를 트리거하려면 unset 메소드를 사용할 수 있습니다. 2. 클래스의 선택적 부분으로, 일반적으로 객체가 파괴되기 전에 일부 청소 작업을 완료하는 데 사용됩니다. 소멸자는 매개변수를 사용할 수 없습니다.
PHP에서 __call 메소드 사용법: 1. 호출할 메소드가 존재하지 않거나 권한이 충분하지 않은 경우 자동으로 호출됩니다. 2. 먼저 __call 메서드를 다시 작성합니다. __call 메서드에는 실제 메서드 이름과 매개 변수에 해당하는 두 개의 매개 변수(method 및 param)가 있습니다.
PHP에서 __clone 사용: 1. 객체 복사에 사용됩니다. 객체 복사는 clone 키워드를 통해 수행됩니다. 2. __clone() 메서드에는 매개 변수가 필요하지 않습니다. 3. 복사하는 동안 대상 객체의 일부 속성이 원본 객체의 속성과 다른 경우 클래스에 __clone() 메서드를 정의할 수 있습니다.
PHP 다중 프로세스 통신의 파이프라인 소개: 1. 파이프는 다중 프로세스 통신에 일반적으로 사용되는 수단입니다. 파이프는 명명되지 않은 파이프와 명명된 파이프로 구분됩니다. 2. 명명된 파이프는 관련된 프로세스 간의 통신에만 사용할 수 있는 반면 명명된 파이프는 동일한 호스트의 모든 프로세스에 사용할 수 있습니다.
PHP 세마포어 및 공유 메모리 소개: 1. 세마포어: 시스템에서 제공하는 원자적 작업으로 동시에 하나의 프로세스에서만 여러 신호를 작동할 수 있습니다. 2. 공유 메모리(Shared memory): 시스템이 메모리 내에서 오픈하는 공용 메모리 영역으로, 모든 프로세스에서 접근이 가능하다.