Какой процесс вы используете для разработки WordPress? [закрыто]

Мне интересно, как другие люди разрабатывают темы и плагины для WordPress. Для меня редактор в браузере на панели администратора просто не режет. В настоящее время я просто использую IDE с плагином PHP (NetBeans), вытаскивая свой веб-каталог разработки с моего сервера, редактируя там, подталкивая до тестирования, а затем перейдя на живое.

Я ищу, как другие люди используют свои инструменты выбора для управления рабочими процессами для разработки, тестирования и развертывания тем, плагинов и тестирования последних версий WordPress против них перед тем, как начать жить.

Я создал эту вики сообщества, чтобы другие люди могли поделиться этим процессом разработки. Я не ожидаю найти здесь исключительного правильного ответа - ваш процесс будет вашим собственным, и я не ожидал бы, что вы делаете, чтобы просто работать для меня или для кого-то еще. Я просто заинтересован в улучшении моей способности разрабатывать плагины и темы, видя, что работает или не работает для других людей.

В другом вопросе обсуждается конкретный программный инструмент для поддержки разработки WordPress , Здесь я ищу больше процессов и методологий, которые могут применяться независимо от инструментов, за исключением определенных задач, которые могут выполняться только в определенном семействе инструментов.

36 голосов | спросил 5 revs
Thomas Owens
1 Jam1000000amThu, 01 Jan 1970 03:00:00 +030070 1970, 03:00:00

10 ответов


20

Для записи я в основном делаю целые веб-сайты и плагины и развертываю их. Мой рабочий процесс очень рубиновый и git-heavy.

Чтобы начать работу над новым проектом, у меня есть сценарий оболочки, который заботится обо всем бизнесе по настройке нового vhost и проверке последнего тега WordPress (из нашего собственного репозитория git, который отслеживает svn).

Основной формой всего веб-сайта является git repsotory в wp-контенте. Он содержит файл Capfile (файл makefile eqiuivalent capistrano) и файл конфигурации YAML, которые вместе занимаются развертыванием ( http://github.com/dxw /wp-capistrano ). Кроме того, внутри этого репозитория я добавляю тему и плагины в виде подмодулей git (да, мы также поддерживаем git-репозитории для сторонних плагинов - нам нравится использовать последнюю версию, которую мы лично протестировали).

Для темы у меня есть инструмент /фреймворк для генерации кода ( github.com/dxw/wp-generate ). ). Это означает меньше думать о том, куда должен идти код, и он имеет естественный метод разделения между представлением и моделью /контроллером.

При написании плагинов я использую огурец /webrat для разработки, основанной на тестах ( github.com/dxw/cucumber-wordpress).

И для переноса баз данных разработки в производство обычно это всего лишь случай копирования дампа (WP_SITEURL и WP_HOME устанавливаются capistrano на станционных /производственных машинах, поэтому нет поиска /замены).

Я не могу представить, сколько часов я сохранил с этими сценариями.

ответил EAMann 18 SatEurope/Moscow2010-12-18T08:57:47+03:00Europe/Moscow12bEurope/MoscowSat, 18 Dec 2010 08:57:47 +0300 2010, 08:57:47
6

@ Томас Оуэнс Этот вопрос несколько перекрывает и дублирует вопрос " Программное обеспечение для разработки темы /плагинов WordPress ." Не уверен, что мы должны закрыться, но это выглядит несколько иначе. Так что ...

Mac OS X

Вот мой основной набор инструментов прямо сейчас для Max OS X (всегда ищите лучше.) Заметьте, я попробовал NetBeans и отказался от него. Слишком вяло и слишком мало возможностей.

Windows Vista

Когда я был в Windows Vista, мой существенный toolset :

  • FileZilla - FTP-клиент
  • Firefox Firebug - отладка jQuery
  • Navicat for MySQL - Коммерческий клиент MySQL
  • Unfuddle.com - Репозиторий SVN и управление задачами для клиентских проектов
  • PhpED - отладка IDE (ничего лучше в Windows, возможно, PhpStorm + [XDebug] [24])
  • HeidiSQL - отличный клиент MySQL с открытым исходным кодом
  • Блокнот2 - Великий легкий и удобный вариант «Блокнот»
  • TortoiseSVN - клиент SVN
  • Fiddler 2 - Непревзойденный HTTP-отладчик

Развертывание кода /миграция данных для переключения доменов

Не уверен, что это именно то, что вы ищете, но я разрабатываю плагин, чтобы облегчить миграцию между локальным dev-сервером, тестовым сервером и сервером развертывания. Я написал об этом здесь:

Надеюсь, что это поможет

-Mike

ответил EAMann 18 SatEurope/Moscow2010-12-18T08:57:47+03:00Europe/Moscow12bEurope/MoscowSat, 18 Dec 2010 08:57:47 +0300 2010, 08:57:47
5

Это ответ рабочего процесса, не связанный с IDE или плагином.

Решение, которое отлично работает для разработки плагинов, - это начать с локального веб-сервера apache с каждым изменением wordpress, установленным в подпапке.

В отдельном месте за пределами локального корня сервера сохраните свои рабочие копии Wordpress /темы. Создайте символическую ссылку на соответствующую ветку /тег /ветку в папке /wp-content /plugins каждой вариации wordpress.

При редактировании плагина в вашей среде IDE изменения, которые вы делаете, будут, очевидно, представлены в каждой установке wordpress, поэтому легко будет протестировать несколько вариантов wordpress.

По существу, вы можете открыть вкладку браузера для каждого изменения локального Wordpress и протестировать каждый из них во время работы над одним проектом и одной файловой базой.

Использование среды IDE, поддерживающей SVN & amp; FTP все, что вам нужно сделать, это отредактировать рабочую копию и перенести изменения в репозиторий.

Как IDE Coda делает это для меня, но мне нравится NetBeans и Eclipse.

Как только вы счастливы, что ваш плагин работает, и вы внесли эти изменения в свой репозиторий, вы можете открыть свой проект Wordpress и опубликовать измененный плагин прямо на своем сайте.

ответил EAMann 18 SatEurope/Moscow2010-12-18T08:57:47+03:00Europe/Moscow12bEurope/MoscowSat, 18 Dec 2010 08:57:47 +0300 2010, 08:57:47
3

У меня есть относительно несложная настройка, которая сложилась с момента начала моей сегодняшней работы ~ 2,5 года назад.

Разработка

Я делаю все свое развитие через SSH, используя Vim внутри экран GNU . Плагины Vim включают:

Вертикальные расщепления и : набор скрытых имеют важное значение. Я также предпочитаю 256-цветный терминал ( iTerm в Mac OS X) с railscasts цветовая схема.

Мы также медленно изменяли dBug в соответствии с нашими потребностями. Хорошая замена для print_r () и var_dump () , когда вы знаете, что переменная является массивом или объектом.

Установка

В настоящее время я не работаю над многими публичными плагинами /темами, поэтому я не тестирую совместимость плагинов с несколькими версиями WordPress. Я код на сервере dev и переводит этот код в производство через Subversion.

ответил EAMann 18 SatEurope/Moscow2010-12-18T08:57:47+03:00Europe/Moscow12bEurope/MoscowSat, 18 Dec 2010 08:57:47 +0300 2010, 08:57:47
3

Процесс разработки темы WordPress

  • Преобразовать кадр проводки Mock Flow в базовый XHTML и CSS

  • Вставьте XHTML в файл шаблона master.php и конвертируйте в теги шаблонов и функции WP.

  • Разделите master.php на различные файлы шаблонов, то есть: header.php, index.php, sidebar.php и footer.php

  • Напишите любые пользовательские запросы и функции, которые могут потребоваться

  • Вставьте макет CSS и добавьте div {outline: 1px solid red;} , чтобы помочь tweak layout4.

  • Загрузить папку тем для WordPress для тестирование и дальнейшее развитие

Средства разработки WordPress

  • Редактор кода Aptana Studio WorkPlace со встроенным FTP

  • Шпатлевка

  • два монитора 1920 x 1200 с браузером, открытым на одном, и редактор кода на другом

  • Планшет Wacom Intuis 4

  • Firebug с Yslow и скоростью страницы Google

ответил EAMann 18 SatEurope/Moscow2010-12-18T08:57:47+03:00Europe/Moscow12bEurope/MoscowSat, 18 Dec 2010 08:57:47 +0300 2010, 08:57:47
3

Мой рабочий процесс довольно прост. Я поддерживаю 4 среды. Тестирование, разработка, постановка и производство.

Workflow

Я использую git для моего контроля версий; Я игнорирую файл wp-config.php, поэтому этот файл не перезаписывается, когда я нажимаю и перемещаю различные местоположения. Я использую unuddle как публичный /центральный репозиторий для других, чтобы нажать и вытащить.

Это, кажется, работает достаточно хорошо. Я буду совершать так часто, как я помню, пока я работаю над тестированием. Не реже одного раза в день, если не больше, я синхронизируюсь с невозмутимым и заставляю сервер разработки вносить изменения. Я стараюсь не делать никакой прямой работы на сервере, поэтому я в основном просто втягиваю изменения. Если произошли существенные изменения в базе данных (новые плагины, обновленный контент и т. Д.), Я сбрасываю его с моего тестирования; сделайте резервную копию разработки и импортируйте дамп.

Я использую тот же процесс для Staging. Staging сидит на том же сервере, что и производство, он дважды проверяет полировку и следит за тем, чтобы все настройки и модули работали на производственном сервере. Когда я буду готов, я создам резервные копии всех производственных файлов и базы данных и копирую файлы и базу данных из этапа.

Так как wp-config.php не находится в git, это делает его довольно простым, чтобы толкать и тянуть вокруг. Когда вы переходите к постановке, я копирую файлы и не использую git, поэтому я должен убедиться, что wp-config.php верен.

Я попросил вопрос вопрос , и я собираюсь изучить этот плагин.

Я также подумал об использовании Capistrano; и создание очень подробного сценария миграции, который будет проходить и обрабатывать все файлы и резервные копии /миграции баз данных, а также обновлять пути и URL-адреса файлов.

Инструменты

  • Textmate для моего редактора, хотя я начинаю использовать MacVim. Я использую vim, когда на linux.
  • Sequel Pro для управления базами данных. Если я не могу соединиться с ним, я буду использовать PHPMyAdmin
  • Передача для FTP, если мне это нужно.
  • git для контроля версий. В основном по командной строке, хотя я немного использовал клиент в Textmate и GittiApp.
ответил EAMann 18 SatEurope/Moscow2010-12-18T08:57:47+03:00Europe/Moscow12bEurope/MoscowSat, 18 Dec 2010 08:57:47 +0300 2010, 08:57:47
1

Одна вещь, которая помогает мне (особенно при работе на нескольких клиентских темах), использовать установку WordPress Multisite на моем dev-сервере. Таким образом, я могу иметь столько открытых рабочих мест, сколько необходимо, и не беспокоиться о том, что клиент видит тему клиента B. Соедините это с полным пакетом образцов контента, который я загружаю каждый раз при создании нового сайта, и у вас есть потрясающая система dev.

ответил EAMann 18 SatEurope/Moscow2010-12-18T08:57:47+03:00Europe/Moscow12bEurope/MoscowSat, 18 Dec 2010 08:57:47 +0300 2010, 08:57:47
0

Я делаю с места взлома на сервере в кишках жизненной системы для более структурированного цикла dev /test /stage /life, используя системы контроля версий и автоматизированные тесты. Это просто зависит от работы.

Рядом с этим я сообщаю об ошибках обратно в проект wordpress, когда я запускаю их.

Для разработки плагинов я все время стараюсь не изобретать колесо, чтобы создавать новые на основе существующих принципов и шаблонов.

ответил EAMann 18 SatEurope/Moscow2010-12-18T08:57:47+03:00Europe/Moscow12bEurope/MoscowSat, 18 Dec 2010 08:57:47 +0300 2010, 08:57:47
0

Вот мой рабочий процесс:

  • Я начинаю с создания каталога проекта, как только я получу требования и проекты веб-сайта.
  • версия Static и тема /плагин в папке Динамические с помощью Git.
  • создать виртуальный хост для проекта. Я следую этому соглашению:

    http://project1.dev/

    http://project1.static.dev (необязательно)

  • Я обычно следую за этой организацией папок:

      Проекты
           Project1Name
                       Документы //Требования к документам, электронным письмам и другим связанным документам.
                            //Этот каталог может содержать каталоги с именами как даты
                            //(e.g 2014-01-01), чтобы оставаться супер организованным :)
                       Дизайн /Все PSD идут здесь
                       Данные //Резервное копирование базы данных для проекта,
                       сайт
                           Динамический //WordPress вообще
                           Static //Я не всегда создаю статическую версию. Я сделал пару
                                  //раз в прошлом. Я использую ту же структуру внутри
                                  //тема или плагин, который я разрабатываю
                                 JS
                                 CSS
                                 IMG
    
           Project2Name и так далее ...
     

Я знаю, что я все еще не использую инструмент build на ежедневной основе, что заставляет меня чувствовать себя плохо.

Но я использую инструмент сборки ANT для моего проекта Sprite2CSS в сочетании с несколькими PHP-скриптами для ANT потребления.

Инструменты


Я нахожусь в Windows или Ubuntu, я использую следующее:

  • Netbeans + SublimeText2 + Блокнот ++
  • WAMP - (PHP)
  • FakeMail
  • Git
  • Chrome и DevTools + Firefox с Firebug и Safari + IE для тестирования
  • YSlow!
  • Встроенный FTP-сервер Filezilla /WinSCP /NB
  • Cygwin + Командная строка
  • Composer
  • NodeJS + NPM
  • SQLYog Community Edition + PHPMyAdmin

Я открыт для предложений по улучшению моего рабочего процесса.

ответил EAMann 18 SatEurope/Moscow2010-12-18T08:57:47+03:00Europe/Moscow12bEurope/MoscowSat, 18 Dec 2010 08:57:47 +0300 2010, 08:57:47
0

Я работаю над Windows с Denver , FileZilla, Notepad ++, Firefox Firebug и другими инспекторами (ссылки были выше) , cPanel и dbForge Studio для MySQL

ответил EAMann 18 SatEurope/Moscow2010-12-18T08:57:47+03:00Europe/Moscow12bEurope/MoscowSat, 18 Dec 2010 08:57:47 +0300 2010, 08:57:47

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132