> 백엔드 개발 > PHP 튜토리얼 > Drupal 8 사용자 정의 플러그인 유형

Drupal 8 사용자 정의 플러그인 유형

Joseph Gordon-Levitt
풀어 주다: 2025-02-16 10:15:10
원래의
244명이 탐색했습니다.

Drupal 8의 강력한 플러그인 시스템은 재사용 가능한 기능을 갖춘 백엔드 개발자에게 권한을 부여합니다. 이 기사 (두 부분 중 하나) 세부 사항은 노드 엔티티를 사용하여 사용자 정의 양식을 활성화하는 기능을 구축하여 노드 번들의 구성이 노드 디스플레이와 함께 다양한 양식 유형을 활용할 수 있도록합니다. 제공된 기본 클래스를 확장하여 새로운 양식 유형을 쉽게 정의 할 수 있습니다. (완전한 코드 예제는

이 저장소 )를 참조하십시오

이 튜토리얼은 기본 이론에 대한 친숙 함을 가정하여 심층적 인 플러그인 메커니즘을 피합니다. 우리는 두 개의 인터페이스와 6 개의 클래스를 사용하여 사용자 정의 플러그인 유형을 구성합니다. 파트 2는 이러한 재사용 가능한 형태를 노드에 첨부하는 것을 보여줍니다.

주요 개념 : Drupal 8 Custom Plugin Types

Drupal 8의 플러그인 시스템은 재사용 가능한 기능을 용이하게하여 노드 엔티티에 대한 사용자 정의 양식을 활성화합니다. 노드 번들은 노드 디스플레이 내에서 여러 형태 유형을 사용하도록 구성 할 수 있습니다. 플러그인 검색 및로드에 필수적인 플러그인 관리자 인 플러그인 관리자는 Drupal의 기본 기본 클래스를 쉽게 확장 할 수 있도록 활용합니다. 모든 플러그인은 정의 된 인터페이스를 구현해야합니다 플러그인 정의 중요한 정보가 포함 된 주석을 활용 : 플러그인 하위 디렉토리, 필요한 인터페이스 및 플러그인 속성을 정의하는 주석 클래스. 사용자 정의 플러그인 유형에는 모든 플러그인이 확장 할 수있는 기본 클래스가 필요합니다. 이 클래스는 인터페이스를 구현하고 양식 구조에 필수적인

서비스에 종속성 주입을 사용합니다. 플러그인은 양식 클래스와 상호 작용합니다. 다음 단계는 이러한 양식을 노드 디스플레이와 통합하는 것입니다.

플러그인 관리자 : 플러그인을 발견하고로드하는 데 중요한 플러그인 관리자는 Drupal의 를 확장합니다. 모듈의 디렉토리 내에 는 다음을 포함합니다

이것은 생성자를 무시하고
    를 연장합니다. 주요 매개 변수 정의 :
  • : 플러그인 하위 디렉토리.
  • : 필수 플러그인 인터페이스.
  • : 플러그인 속성을 정의하는 주석 클래스
  • Alter Hook ()를 사용하면 모듈이 플러그인 정의를 수정할 수 있고 캐시 백엔드가 구성됩니다. 플러그인 인터페이스 :
  • interface (
  • in )는 모든 플러그인이 구현 해야하는 메소드를 정의합니다.
    <?php namespace Drupal\reusable_forms;
    
    use Drupal\Core\Plugin\DefaultPluginManager;
    use Drupal\Core\Cache\CacheBackendInterface;
    use Drupal\Core\Extension\ModuleHandlerInterface;
    
    class ReusableFormsManager extends DefaultPluginManager {
    
      public function __construct(\Traversable $namespaces, CacheBackendInterface $cache_backend, ModuleHandlerInterface $module_handler) {
        parent::__construct('Plugin/ReusableForm', $namespaces, $module_handler, 'Drupal\reusable_forms\ReusableFormPluginInterface', 'Drupal\reusable_forms\Annotation\ReusableForm');
        $this->alterInfo('reusable_forms_info');
        $this->setCacheBackend($cache_backend, 'reusable_forms');
      }
    }
    로그인 후 복사

    플러그인 이름을 반환합니다. 는 엔티티를 수락하고 를 구현하는 양식에 대한 렌더 배열을 반환합니다. 추가 기능 및 종속성 주입을 위해 getName()buildForm()를 확장합니다. 플러그인 주석 : Drupalreusable_formsFormReusableFormInterface 주석 클래스 ()는 플러그인 속성을 정의합니다 PluginInspectionInterface , ContainerFactoryPluginInterface

    (완전히 자격을 갖춘 형식 클래스 이름)는 여기에 정의되어 있습니다. 플러그인베이스 클래스 : 플러그인베이스 클래스 ()는 기본값을 제공합니다

    이것은 를 확장하고, 를 구현하고, 에 대한 종속성 주입을 사용합니다. 및

    는 주석에 지정된 양식 클래스를 사용하여 구현됩니다. 형식 인터페이스 및 기본 클래스 :

    단순한 형태 인터페이스 () 및 기본 클래스 ()가 일관성을 위해 만들어집니다. . 결론 (1 부) : ReusableForm.php /src/Annotation 이 첫 번째 부분은 사용자 정의 플러그인 유형을 설정하여 양식 클래스와의 통합을 준비합니다. 파트 2는 노드 유형 구성을 포함하고 컨텐츠보기 모드 내에서 렌더링을 포함하는 노드로 이러한 양식을 표시합니다.

위 내용은 Drupal 8 사용자 정의 플러그인 유형의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿