19
Архитектура крупных WordPress сайтов Евгений Котельницкий Харьков 2014

Архитектура крупных WordPress сайтов

Embed Size (px)

DESCRIPTION

Доклад о правилах построения больших WordPress-сайтов. А также о построении архитектуры веб-сайтов в целом.

Citation preview

Page 1: Архитектура крупных WordPress сайтов

Архитектура крупных WordPress сайтов

Евгений КотельницкийХарьков 2014

Page 2: Архитектура крупных WordPress сайтов

( wpkharkiv.wordpress.com ) ( thinkphp.com.ua )

Page 4: Архитектура крупных WordPress сайтов

План1. Наши цели

2. Сложность построения больших WP-сайтов

3. Пишем на одном языке

4. Обработка исключений и оповещения об ошибках

5. Модули и архитектура

a. О качестве архитектуры

b. Модули

c. Организация хуков

d. HTML-верстка

e. Статические компоненты

Page 5: Архитектура крупных WordPress сайтов

Наши цели

Что мы хотим от проекта?

● Простота поддержки

○ Низкий порог вхождения

○ Низкая себестоимость изменений

○ Минимум ошибок

● Отсутствие проблем с быстродействием

Page 6: Архитектура крупных WordPress сайтов

Сложность построения больших WP-сайтов

Сложность поддержки

● Как найти / исправить ошибку?

● Где реализован этот блок?

● Кто так пишет? (стиль написания кода)

● Кто так пишет? (архитектура)

● Я не трогал этот модуль, откуда ошибка?

● Как я перенесу “часть изменений”?

Page 7: Архитектура крупных WordPress сайтов

Сложность построения больших WP-сайтов

Быстродействие \ Back-end

● Запросы в PHP циклах

● Повторяющиеся операции

● Структура БД

● Неоптимизированные запросы

Page 8: Архитектура крупных WordPress сайтов

Сложность построения больших WP-сайтов

Быстродействие \ Front-end

● Большое количество медиа-файлов

● Растущий с прогрессией CSS

● Проблемы с JavaScript возникают редко

Page 10: Архитектура крупных WordPress сайтов

Пишем на одном языке с другими WP-разработчиками

Используем возможности WordPress

● “wp_remote_…” вместо cURL

● “wp_mail” вместо PHPMailer

● “dbDelta” вместо “SQL Create”

Page 11: Архитектура крупных WordPress сайтов

Отладка и оповещение об ошибках

Обработка исключений

Page 12: Архитектура крупных WordPress сайтов

Отладка и оповещение об ошибках

Оповещения об ошибках

Page 13: Архитектура крупных WordPress сайтов

Построение архитектуры

О качестве архитектуры

Архитектура ПО - многоуровневая система абстракций.

Качество абстракции

● Зацепление

● Связность

● Полнота

● Достаточность

● Примитивность

Качество классов и объектов, Гради Буч

Page 14: Архитектура крупных WordPress сайтов

Построение архитектуры

Что дают нам Модули?

● “Упрощение”

● Повторное использование

● Бесконфликтная работа команды

Page 15: Архитектура крупных WordPress сайтов

Организация хуков

Проблемы

● Поиск реализации

● Очерёдность выполнения

● Конфликты хуков

Решение

“Декларативность” -

Добавим немного правил

Page 16: Архитектура крупных WordPress сайтов

HTML-верстка

● Отделяем HTML-шаблоны от PHP

● Не пишем в них JavaScript

● У каждого модуля свои шаблоны

Page 17: Архитектура крупных WordPress сайтов

Статические компоненты

У каждого модуля свои

Page 18: Архитектура крупных WordPress сайтов

Вопросы?

Page 19: Архитектура крупных WordPress сайтов

Спасибо!