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

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

Jun 26, 2015

Download

Documents

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
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 сайтов

Спасибо!