it-swarm-ru.tech

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

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

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

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

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

37
Thomas Owens

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

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

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

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

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

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

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

20
tomdxw

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

Mac OS X

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

  • PhpStorm + XDEBUG - отладка IDE (ничего лучше на MAC)
  • VirtualHostX - локально управляет виртуальными хостами Apache (я ЛЮБЛЮ это)
  • FileZilla - FTP-клиент
  • Firefox Firebug - отладка jQuery
  • Navicat for MySQL - Коммерческий клиент MySQL
  • Unfuddle.com - Репозиторий SVN и управление задачами для клиентских проектов
  • HTTP Scoop - Разумный HTTP-отладчик
  • Fraise - Легкий текстовый редактор (Fork of Smultron )

Виндоус виста

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

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

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

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

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

-Майк

6
MikeSchinkel

Это ответ рабочего процесса, не относящийся к IDE или плагину.

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

Храните ваши рабочие копии плагина/темы WordPress в отдельном месте вне корневого каталога локального сервера. Создайте символическую ссылку на соответствующий ствол/тег/ветку в папке/wp-content/plugins каждого варианта WordPress.

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

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

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

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

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

5
leetagg

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

Развивающийся

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

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

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

Развертывание

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

3
Annika Backstrom

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

  • Конвертировать каркас Mock Flow в базовый XHTML и CSS

  • Подключите XHTML к файлу шаблона master.php и конвертируйте в теги Template и функции WP

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

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

  • Подключите макет CSS и добавьте div {outline:1px solid red;}, чтобы помочь настроить макет4.

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

Инструменты разработки WordPress

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

  • PuTTY

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

  • Wacom Intuis 4 планшет

  • Firebug с Yslow и скоростью Google Page

3
Chris_O

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

Workflow

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

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

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

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

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

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

Инструменты

  • Textmate для моего редактора, хотя я начинаю использовать MacVim. Я использую Vim, когда на Linux.
  • Sequel Pro для работы с базой данных. Если я не могу подключиться к нему, я буду использовать PHPMyAdmin
  • Передача для FTP, если мне это нужно.
  • git для контроля версий. В основном из командной строки, хотя я немного использовал клиента в Textmate и GittiApp.
3
Ryan Gibbons

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

1
Keith S.

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

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

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

0
hakre

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

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

    http://project1.dev/

    http://project1.static.dev (опционально)

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

    Projects
           Project1Name
                       Docs //Requirements docs, emails, other related documents. 
                            //This directory may contain directories with  names as dates
                            //(e.g 2014-01-01) to stay super organized :)    
                       Designs //All PSDs go here  
                       Data  //Database backup for the project,
                       Site
                           Dynamic //WordPress generally
                           Static //I don't always create a static version. I did a couple  
                                  //of times in the past. I use the same structure inside
                                  //the theme or plugin I'm developing
                                 js
                                 css
                                 img
    
           Project2Name and so on ...
    

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

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

Инструменты


Будь я на Windows или Ubuntu, я использую следующее:

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

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

0
Junaid Qadir

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

0
Michael Pozdnakov