SlideShare ist ein Scribd-Unternehmen logo
1 von 21
Downloaden Sie, um offline zu lesen
Entity
Возрождение легенды
Руслан Исай
CEO, Drupal Jedi
7 лет любви к Drupal
risay@drupaljedi.com
drupal.org/u/iruslan
Обо мне
Цель
История появления Entity, путь от D6 через D7 к D8
Цель
/**
* Implements hook_entity_info().
*/
function system_entity_info() {
return array(
'file' => array(
'label' => t('File'),
'base table' => 'file_managed',
'entity keys' => array(
'id' => 'fid',
'label' => 'filename',
),
'static cache' => FALSE,
),
);
}
Цель
Что есть Entity?
D6
Node.
Node — не страница.
Но всё-таки Node — страница.
D7
Node.
И немного Term, User, File,
Comment.
Node всё так же — страница.
EntityAPI.
D8
~ 80 типов сущностей в ядре.
Наконец-то не страница.
С одной стороны готовый
функционал, а с другой можно
сильно урезать
Что есть Entity?
Слои
● Хранение
● CRUD операции
● Поля
● Контроль доступа
● UI
● Переводы
● Ревизии
● Экспорт
● Кеш
Entity против Entity bundle
D7
Bundle — своя таблица (не сущность) либо
сущность такой же природы (Entity).
D8
Bundle — только сущность.
Сущность другого рода — Config Entity.
Config Entity
Базовая Entity + экспорт
Content Entity
Базовая Entity + поля
Разного рода Entity
Экспорт
Config отдельно, Content
отдельно.
Не надо плодить мутантов.
Сообщество озадачилось
переносом контента.
Слои в D8
Трейты и хендлеры на все случаи
жизни
● Наличие автора
● Дата модификации
● Ревизии
● Гибкая система ссылок в UI
● ...
Выводы
Зрелость
● Логика подключения слоёв к
чему угодно
● Не надо руками работать с
таблицами
● Storage API
Разного рода
Entity
Отделяем Config от Content.
Сильно думаем.
А вот бы Config с полями:)
Минусы
Определять свои типы стало
сложнее — namespaces,
аннотации.
Scaffolding через Drupal Console.
Никто не
избежит встречи
с созданием
своего типа
Entity
Спасибо за внимание
Руслан Исай
risay@drupaljedi.com
drupal.org/u/iruslan

Weitere ähnliche Inhalte

Ähnlich wie Entity возрождение легенды. Исай Руслан

Фундаментальные основы разработки под iOS. Павел Тайкало
Фундаментальные основы разработки под iOS. Павел ТайкалоФундаментальные основы разработки под iOS. Павел Тайкало
Фундаментальные основы разработки под iOS. Павел Тайкало
Stanfy
 
Компонентная разработка на Stylus, Jade, Typescript - Леонид Ширманов
Компонентная разработка на Stylus, Jade, Typescript - Леонид ШирмановКомпонентная разработка на Stylus, Jade, Typescript - Леонид Ширманов
Компонентная разработка на Stylus, Jade, Typescript - Леонид Ширманов
MoscowJS
 
SQL Tricky (Иван Фролков)
SQL Tricky (Иван Фролков)SQL Tricky (Иван Фролков)
SQL Tricky (Иван Фролков)
Ontico
 
Take more from Jquery
Take more from JqueryTake more from Jquery
Take more from Jquery
Magento Dev
 
Как не утонуть в мегабайтах JS-кода
Как не утонуть в мегабайтах JS-кодаКак не утонуть в мегабайтах JS-кода
Как не утонуть в мегабайтах JS-кода
tfmailru
 
Профилирования и оптимизация jQuery-кода
Профилирования и оптимизация jQuery-кодаПрофилирования и оптимизация jQuery-кода
Профилирования и оптимизация jQuery-кода
private_face
 

Ähnlich wie Entity возрождение легенды. Исай Руслан (14)

UWDC 2013, Yii2
UWDC 2013, Yii2UWDC 2013, Yii2
UWDC 2013, Yii2
 
Drupal 7 deploy database updates
Drupal 7 deploy database updatesDrupal 7 deploy database updates
Drupal 7 deploy database updates
 
LDAP in infrastructure (RootConf 2009)
LDAP in infrastructure (RootConf 2009)LDAP in infrastructure (RootConf 2009)
LDAP in infrastructure (RootConf 2009)
 
Фундаментальные основы разработки под iOS. Павел Тайкало
Фундаментальные основы разработки под iOS. Павел ТайкалоФундаментальные основы разработки под iOS. Павел Тайкало
Фундаментальные основы разработки под iOS. Павел Тайкало
 
Multilingual Drupal 8
Multilingual Drupal 8Multilingual Drupal 8
Multilingual Drupal 8
 
Js fuckworks
Js fuckworksJs fuckworks
Js fuckworks
 
Компонентная разработка на Stylus, Jade, Typescript - Леонид Ширманов
Компонентная разработка на Stylus, Jade, Typescript - Леонид ШирмановКомпонентная разработка на Stylus, Jade, Typescript - Леонид Ширманов
Компонентная разработка на Stylus, Jade, Typescript - Леонид Ширманов
 
SQL Tricky (Иван Фролков)
SQL Tricky (Иван Фролков)SQL Tricky (Иван Фролков)
SQL Tricky (Иван Фролков)
 
Иван Фролков. Tricky SQL
Иван Фролков. Tricky SQLИван Фролков. Tricky SQL
Иван Фролков. Tricky SQL
 
Take more from Jquery
Take more from JqueryTake more from Jquery
Take more from Jquery
 
Sumin
SuminSumin
Sumin
 
Как не утонуть в мегабайтах JS-кода
Как не утонуть в мегабайтах JS-кодаКак не утонуть в мегабайтах JS-кода
Как не утонуть в мегабайтах JS-кода
 
Laravel 4 fwdays
Laravel 4 fwdaysLaravel 4 fwdays
Laravel 4 fwdays
 
Профилирования и оптимизация jQuery-кода
Профилирования и оптимизация jQuery-кодаПрофилирования и оптимизация jQuery-кода
Профилирования и оптимизация jQuery-кода
 

Mehr von DrupalSib

Mehr von DrupalSib (20)

SSO авторизация - Татьяна Киселева, DrupalJedi
SSO авторизация - Татьяна Киселева, DrupalJediSSO авторизация - Татьяна Киселева, DrupalJedi
SSO авторизация - Татьяна Киселева, DrupalJedi
 
XML в крупных размерах - Михаил Крайнюк, DrupalJedi
XML в крупных размерах - Михаил Крайнюк, DrupalJediXML в крупных размерах - Михаил Крайнюк, DrupalJedi
XML в крупных размерах - Михаил Крайнюк, DrupalJedi
 
BigPipe: ускоряем загрузку страниц - Давид Пашаев, DrupalJedi
BigPipe: ускоряем загрузку страниц - Давид Пашаев, DrupalJediBigPipe: ускоряем загрузку страниц - Давид Пашаев, DrupalJedi
BigPipe: ускоряем загрузку страниц - Давид Пашаев, DrupalJedi
 
Drupal в школе - Борис Шрайнер
Drupal в школе - Борис ШрайнерDrupal в школе - Борис Шрайнер
Drupal в школе - Борис Шрайнер
 
Евгений Юдкин - Коммуникационные инструменты в отделе продаж на примере интег...
Евгений Юдкин - Коммуникационные инструменты в отделе продаж на примере интег...Евгений Юдкин - Коммуникационные инструменты в отделе продаж на примере интег...
Евгений Юдкин - Коммуникационные инструменты в отделе продаж на примере интег...
 
D8 - Serialize, Normalize - Михаил Крайнюк, DrupalJedi
D8 - Serialize, Normalize - Михаил Крайнюк, DrupalJediD8 - Serialize, Normalize - Михаил Крайнюк, DrupalJedi
D8 - Serialize, Normalize - Михаил Крайнюк, DrupalJedi
 
Drupal - создание инсталляционных профайлов - Иван Абраменко, CimpleO
Drupal - создание инсталляционных профайлов - Иван Абраменко, CimpleODrupal - создание инсталляционных профайлов - Иван Абраменко, CimpleO
Drupal - создание инсталляционных профайлов - Иван Абраменко, CimpleO
 
Вадим Валуев - Искусство ИТ
Вадим Валуев - Искусство ИТВадим Валуев - Искусство ИТ
Вадим Валуев - Искусство ИТ
 
Андрей Юртаев - Mastering Views
Андрей Юртаев - Mastering ViewsАндрей Юртаев - Mastering Views
Андрей Юртаев - Mastering Views
 
Migrate drupal 6 to drupal 8. Абраменко Иван
Migrate drupal 6 to drupal 8.  Абраменко ИванMigrate drupal 6 to drupal 8.  Абраменко Иван
Migrate drupal 6 to drupal 8. Абраменко Иван
 
возводим динамическую таблицу, No views, no problem. Крайнюк Михаил
возводим динамическую таблицу, No views, no problem. Крайнюк Михаилвозводим динамическую таблицу, No views, no problem. Крайнюк Михаил
возводим динамическую таблицу, No views, no problem. Крайнюк Михаил
 
Реализация “гибких” списков Жамбалова Намжилма
Реализация “гибких” списков Жамбалова Намжилма Реализация “гибких” списков Жамбалова Намжилма
Реализация “гибких” списков Жамбалова Намжилма
 
Петр Селфин. Шок! Drupal 8 против SEO?! Без регистрации и SMS скачать бесплатно
Петр Селфин. Шок! Drupal 8 против SEO?! Без регистрации и SMS скачать бесплатноПетр Селфин. Шок! Drupal 8 против SEO?! Без регистрации и SMS скачать бесплатно
Петр Селфин. Шок! Drupal 8 против SEO?! Без регистрации и SMS скачать бесплатно
 
Сергей Синица. Разработка интернет-магазинов на Drupal
Сергей Синица. Разработка интернет-магазинов на DrupalСергей Синица. Разработка интернет-магазинов на Drupal
Сергей Синица. Разработка интернет-магазинов на Drupal
 
Eugene Ilyin. Why Drupal is cool?
Eugene Ilyin. Why Drupal is cool?Eugene Ilyin. Why Drupal is cool?
Eugene Ilyin. Why Drupal is cool?
 
Ivan Kotlyar. PostgreSQL in web applications
Ivan Kotlyar. PostgreSQL in web applicationsIvan Kotlyar. PostgreSQL in web applications
Ivan Kotlyar. PostgreSQL in web applications
 
Sergey Cherebedov. Deployment of the environment for Drupal using Ansible.
Sergey Cherebedov. Deployment of the environment for Drupal using Ansible.Sergey Cherebedov. Deployment of the environment for Drupal using Ansible.
Sergey Cherebedov. Deployment of the environment for Drupal using Ansible.
 
Anton Shloma. Drupal as an integration platform
Anton Shloma. Drupal as an integration platformAnton Shloma. Drupal as an integration platform
Anton Shloma. Drupal as an integration platform
 
Руслан Исай - Проповедуем Drupal разработку
Руслан Исай - Проповедуем Drupal разработку Руслан Исай - Проповедуем Drupal разработку
Руслан Исай - Проповедуем Drupal разработку
 
Сергей Черебедов - Integration Drupal with NodeJS. What is it and why You nee...
Сергей Черебедов - Integration Drupal with NodeJS. What is it and why You nee...Сергей Черебедов - Integration Drupal with NodeJS. What is it and why You nee...
Сергей Черебедов - Integration Drupal with NodeJS. What is it and why You nee...
 

Entity возрождение легенды. Исай Руслан