Dropal의 실체는 무엇입니까

6714 단어 Drupal

이번 강연에 관하여


대상

  • 사용자, 노드,tum 등 용어를 이해할 수 있음
  • 대상을 대상으로 하는 프로그래밍의'계승','실례화'등 개념을 이해
  • Dropal의 백엔드
  • 를 알고 싶습니다.

    원시적인 시도



    출처


    비디오

  • What Are Drupal Entities? | Drupalize.Me
  • DrupalCon New Orleans 2016: Entities 101 : Understanding Data Structures in Drupal - YouTube
  • What's New in Drupal 8: Entity Field API | Drupalize.Me
  • 문서

  • An Introduction to Entities | Drupal 7 guide on Drupal.org
  • Entity API | entity.api.php | Drupal 8.5.x | Drupal API
  • Standarized, pluggable entity loading (nodes, users, taxonomy, files, comments) [#460320] | Drupal.org
  • 회사 선배님들.


    개발자가 실체의 의미를 배우다


    앞으로는 실체의 시대!


    Drumal 7에 실체의 개념을 도입
  • Dropal 8 완성(?)
  • Dropal 8에서 모든 웹 콘텐츠를 실체화하는 것이 최선의 실천으로 여겨진다
  • Dropal 8의 문서는 반드시 실체의 지식이 있어야만 읽을 수 있습니다!
  • 실체 시스템도 앞으로 진화하고 개선될 것으로 예상된다
  • 왜 실체 시스템을 세워야 합니까


    생각해봐!"Dropal 사이트에서 처리되는 데이터에는 어떤 기능이 필요한가요?"


    사용자

  • id, 명칭, 비밀번호, 메일 주소, 창설 날짜, 언어 코드 등 데이터
  • 가 있음
  • 로그인 정보 및 열람 권한과 결합
  • 데이터베이스에 저장 가능
  • PHP로 가공
  • 가능
  • 렌더링 가능
  • 노드(기사)

  • id, 제목, 본문, 제작 날짜, 언어 코드 등 데이터
  • 데이터베이스에 저장 가능
  • PHP로 가공
  • 가능
  • 렌더링 가능
  • 타르

  • id,tum명, 설명, 제작일, 언어 코드 등 데이터
  • 클릭한 시간과 동일한 시간대
  • 를 가진 콘텐츠 목록 표시
  • 데이터베이스에 저장 가능
  • PHP로 가공
  • 가능
  • 렌더링 가능
  • 그것들의 공통점은?

  • id, 제작일, 언어 코드 있음
  • 데이터베이스에 저장 가능
  • PHP로 가공
  • 가능
  • 렌더링 가능
  • Droplist분들이 생각을 했어요.


    장착 기능에 필요한 매개 변수와 방법을 하나로 정리하는 것은 매우 편리하지 않습니까?

    솔리드 시스템 생성(Drumal 7)
    ※ 인상

    그렇다면 실체는 무엇일까.ω・`)


    솔리드 시스템은

  • Dropal 사이트의 모든 데이터를 규격화하고 통일된 방법으로 처리하는 구조
  • 주요 목적은 웹 사이트의 성능과 개발 효율을 향상시키는 것이다
  • '모든 데이터'는 무엇입니까?

  • 사용자, 노드,tum 등 웹 콘텐츠
  • 패브릭(구성)
  • 솔리드


    단일 데이터를 솔리드 시스템에 적합한 PHP 객체로 가공

  • 사용자 한 명

  • 단일 노드(기사)

  • 단일 기간
  • 예제(노드)


    정면



    뒷얼굴


    ※ Devel 모듈을 이용한 확인 방법
  • Devel 모듈 설치
  • 노드 화면에서 Devel 탭
  • 을 클릭
  • Load 태그의 Variable
  • 클릭

    표면은 간단하지만 뒤에는 대량의 매개 변수와 방법이 숨겨져 있다!!

    실체의 대량의 매개 변수와 방법은 어디에서 왔는가


    실체는 이렇게 세워진 것이다


    실체류


    Entity | Entity.php | Drupal 8.2.x | Drupal API
    ↓상속

    실체류


    ContentEntityBase | ContentEntityBase.php | Drupal 8.2.x | Drupal API
    ↓상속

    노드 클래스


    Node | Node.php | Drupal 8.2.x | Drupal API
    ↓ 실례화

    노드 솔리드



    대량의 매개 변수와 방법은 아버지로부터 물려받은 것이다

    그림으로 정리하면



    (마지막으로) 실체 시스템을 능숙하게 사용할 수 있다면 매우 편리할 것이다


    실체적인 방법을 쓰면...

  • 모든 실체의 공통된 매개 변수나 방법을 사용하여 데이터에 간단하게 접근할 수 있다
  • Enity Manager를 통해 모든 데이터를 조작할 수 있음
  • 실체 간에'연쇄'를 할 수 있다(예를 들어 어떤 글의 저자 ID에서 이 ID에 접근한 사용자 프로필 등)
  • // IDが1のノードの著者の名前を取得する
    $node = \Drupal\node\Entity\Node::load(1); //ノードIDが1のノードエンティティを取得
    $user = $node->getOwnerId(); //ノードの著者のユーザーエンティティを取得
    $author_name = $user->getUserName(); //ユーザーエンティティが持つユーザー名を取得
    
    //連鎖した書き方
    $author_name = \Drupal\node\Entity\Node::load(1)->getOwnerId->getUserName();
    

    사용자 정의 실체 형식을 만들 수 있다면

  • 복잡한 데이터 구조를 간단하게 실현할 수 있는 웹 콘텐츠
  • 코드를 쓰지 않고 Views, Token, REST 등과의 포인트
  • 를 사용할 수 있다.
  • 코드를 쓰지 않고 Drumal에 대응하는 다국어 기능
  • 여러분도 실물 생활 잘 하세요!

    좋은 웹페이지 즐겨찾기