팁: PHP의 플러그인 메커니즘 구현 솔루션.
이 기사의 출발점은 PHP의 플러그인 메커니즘과 구현에 대한 나의 이해입니다. 이 솔루션은 PHP의 플러그인 메커니즘 구현 솔루션 중 하나일 뿐입니다. 이를 적어서 모든 사람과 공유하세요.
플러그인이라고도 하는 플러그인은 특정 유형의 기능 모듈을 의미합니다(일반적으로 타사 개발자가 구현함). 특징은 필요할 때 활성화하고 필요할 때 활성화하는 것입니다. 필요하지 않습니다. 필요한 경우 비활성화/삭제하고 활성화 여부에 관계없이 플러그인은 시스템의 핵심 모듈 작동에 영향을 미치지 않습니다. 이는 핵심 프로그램과 플러그인 프로그램 간의 느슨한 결합을 달성합니다. 일반적인 예로는 사용자 댓글에서 스팸을 필터링하는 데 사용되는 Akimet 플러그인과 같은 WordPress의 수많은 타사 플러그인이 있습니다.
강력한 플러그인 메커니즘은 다음과 같은 특징을 가져야 한다고 생각합니다.
플러그인의 동적 모니터링 및 로딩(Lookup)
플러그인의 동적 트리거
위의 두 가지 사항 구현은 핵심 프로그램의 작동에 영향을 미치지 않습니다
프로그램에서 플러그인을 구현하려면 먼저 다른 후크(Hooks)를 정의해야 합니다. "Hooks"는 매우 생생한 논리적 개념으로, 시스템에 의해 예약된 플러그인 트리거 조건이라고 생각할 수 있습니다. 그 논리 원리는 다음과 같습니다. 시스템이 특정 후크를 실행할 때 후크 조건이 충족되는지 여부를 확인하고, 충족되면 먼저 후크에서 지정한 함수를 호출한 다음 반환하여 계속 실행합니다. 프로그램의 나머지 부분이 충족되지 않으면 먼저 후크에 의해 지정된 함수를 호출하고 건너뜁니다. 이는 어셈블리의 "인터럽트 보호" 논리와 약간 비슷합니다.
앞서 댓글 스팸 필터링에 관해 언급한 후크와 같은 일부 후크는 시스템에 의해 미리 설계되었을 수 있습니다. 일반적으로 이는 핵심 시스템 개발자가 다른 카테고리 후크로 설계한 것입니다. 사용자가 사용자 정의하고(타사 개발자가 개발) 일반적으로 일반 PHP 양식 표시 페이지와 같은 프리젠테이션 계층에 존재합니다.
위의 말이 지루하고 졸리다고 느끼실 수도 있겠지만, 아래에 작성한 코드를 이해하려면 위의 원칙을 이해하는 것이 필수적입니다.
다음은 PHP에서 플러그인 메커니즘의 핵심 구현입니다. 전체 메커니즘의 핵심은 세 가지 주요 블록으로 나뉩니다.
플러그인 관리자 클래스입니다. 핵심 중의 핵심. 응용 프로그램 전역 전역 개체입니다. 여기에는 세 가지 주요 책임이 있습니다.
은 등록된 모든 플러그인을 모니터링하고 이러한 플러그인 개체를 인스턴스화하는 일을 담당합니다.
모든 플러그인 등록을 담당합니다.
후크 조건이 충족되면 해당 객체 메소드가 트리거됩니다.
플러그인 기능 구현: 이는 대부분 타사 개발자가 수행하지만 특정 규칙을 따라야 합니다. 이 규칙은 플러그인 메커니즘에 따라 규정되며 플러그인 메커니즘에 따라 다릅니다. 다음 표시 코드가 표시됩니다. 이 규칙을 참조하세요.
플러그인의 트리거링, 즉 후크의 트리거링 조건입니다. 특히 이것은 이 후크를 트리거하기 위해 플러그인 구현이 필요한 곳에 배치되는 작은 코드 조각입니다.