архитектура крупных word press сайтов

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

Upload: -

Post on 26-Jun-2015

126 views

Category:

Documents


0 download

TRANSCRIPT

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

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

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

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

Евгений Котельницкий

+YevhenKotelnytskyi

@yeeevhenhttp://4coder.info/me

Page 3: архитектура крупных Word press сайтов

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

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

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

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

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

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

b. Модули

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

d. HTML-верстка

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

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

Наши целиЧто мы хотим от проекта?

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Стандарты кодирования● PHP Coding Standards

● HTML Coding Standards

● CSS Coding Standards

● JavaScript Coding Standards

Page 9: архитектура крупных Word press сайтов

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

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

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

● “wp_mail” вместо PHPMailer

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

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

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

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

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

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

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

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

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

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

● Зацепление

● Связность

● Полнота

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

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

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

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

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

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

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

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

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

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

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

Проблемы

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

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

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

Решение

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

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

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

HTML-верстка

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

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

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

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

Статические компонентыУ каждого модуля свои

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

Вопросы?

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

Спасибо!