23
Управление зависимостями на практике Анна Ладошкина, [email protected] веб-разработчик и эксперт @foralien bureau и Теплицы социальных технологий Composer и разработка сайтов на WordPress WordPress Meetup Санкт-Петербург, 10 августа 2015

Composer и разработка сайтов на WordPress

Embed Size (px)

Citation preview

Page 1: Composer и разработка сайтов на WordPress

Управление зависимостями на практике

Анна Ладошкина, [email protected]веб-разработчик и эксперт @foralien bureauи Теплицы социальных технологий

Composer и разработка сайтов на WordPress

WordPress Meetup Санкт-Петербург, 10 августа 2015

Page 2: Composer и разработка сайтов на WordPress

@foralien bureauТолько практический опыт

leyka.te-st.ruСистема онлайн-фандрайзинга

itv.te-st.ruПоиск волонтеров для решения ИТ-задач

Собственная разработка сайтов для НКО

совместно с

Теплицей социальных технологий

100 консультаций в год для НКО по удобству сайтов

консультации

Page 3: Composer и разработка сайтов на WordPress

https://getcomposer.org/

Позволяет• объявить зависимости для проекта • установить и обновлять зависимости • использовать собственные библиотеки

как зависимости

Менеджер зависимостей для PHP

Page 4: Composer и разработка сайтов на WordPress

Требуется PHP 5.3.2+

Установка (глобально)

urs/local/bin - указана в PATH переменной

Любая папка с файлами превращается в библиотеку, если добавить composer.json

Page 5: Composer и разработка сайтов на WordPress

Где взять библиотеки?

• в открытых репозиториях для Composer https://packagist.org/

• на GitHubhttps://github.com/

• создать самому

Page 6: Composer и разработка сайтов на WordPress

Структура composer.json

Page 7: Composer и разработка сайтов на WordPress

«Обычный» сайт на WordPress

• Файлы ядра • wp-config.php • Плагины • Темы • Переводы • uploads

Что должно быть под контролем версий?

Page 8: Composer и разработка сайтов на WordPress

Примеры использования Composer с WordPresshttps://roots.io/ http://composer.rarst.net

Page 9: Composer и разработка сайтов на WordPress

Что потребуется?Учитывая, что- Composer запускается в корне

проекта - При обновлении затирает все в

папке vendor

Определить- Что является зависимостями и какого типа - Откуда брать код зависимостей - Куда его размещать для разных случаев

Зафиксировать все в composer.json

Page 10: Composer и разработка сайтов на WordPress

Packagisthttps://packagist.org/

Page 11: Composer и разработка сайтов на WordPress

WordPress как библиотека

Page 12: Composer и разработка сайтов на WordPress

WP - это зависимостьРазделить файлы ядра и wp-content- Установить WordPress в подпапку corehttps://codex.wordpress.org/Giving_WordPress_Its_Own_Directory

- Переместить папку wp-contenthttps://codex.wordpress.org/Editing_wp-config.php#Moving_wp-content_folder

Page 13: Composer и разработка сайтов на WordPress

composer.json

Page 14: Composer и разработка сайтов на WordPress

WordPress Packagisthttp://wpackagist.org

Page 15: Composer и разработка сайтов на WordPress

Плагин как библиотека

Page 16: Composer и разработка сайтов на WordPress

composer.json

Page 17: Composer и разработка сайтов на WordPress

WordPress language packs http://languages.koodimonni.fi/

Page 18: Composer и разработка сайтов на WordPress

Языковой пакет как библиотека

Page 19: Composer и разработка сайтов на WordPress

composer.json

Page 20: Composer и разработка сайтов на WordPress

Собственная библиотекаРепозиторий артефактов

Библиотека == .zip файл со специальным именем foralien-myplugin-1.0.0.zip

- код плагина - composer.json

Page 21: Composer и разработка сайтов на WordPress

composer.json

Page 22: Composer и разработка сайтов на WordPress

composer install

Page 23: Composer и разработка сайтов на WordPress

Будем на связи!

https://www.facebook.com/anna.ladoshkina