Здесь, в Sitepoint, нашим сотрудникам повезло, что мы можем воспользоваться тем, что мы называем «Triple Time». Три дня в месяц посвящены работе над личными веб-проектами. Это побуждает людей расширять свои навыки и позволяет членам команды объединить свои усилия для создания новых и интересных веб-проектов.
Майкл Саутер использовал свой Triple Time для разработки этого плагина для WordPress, настройтесь ниже, чтобы увидеть, что это такое! Его плагин доступен здесь .
Начало работы с оркестром — плагин WordPress
Для транскрипции JumpCast и тому подобного, посетите Learnable
Джесс: Я здесь сегодня с Майклом Саутером, веб-разработчиком SitePoint. Он расскажет нам немного о плагине WordPress, который он создал под названием Orchestra. Что вы можете рассказать нам об оркестре?
Майкл: Orchestra — это плагин для WordPress, который позволяет вам писать другие плагины для WordPress. Так что если у вас есть что-то сложное в плагине WordPress в административной области — если у вас много форм, вам нужно сделать много вещей, а не просто установить один или два параметра, тогда WordPress фактически предоставит вам очень небольшую помощь в как написать это и как структурировать свой плагин.
Поэтому я собрал компоненты из других фреймворков, которые значительно упрощают написание более сложных кодов. Так, например, работа с базами данных, работа с формами. Итак, я соединил эти компоненты вместе, поместил их в плагин WordPress. После того, как этот плагин установлен, вы можете написать свои собственные плагины поверх этого плагина и использовать структуру и всю помощь, которую он предоставляет.
Джесс: Так как же тогда вы пришли к идее для оркестра?
Майкл: Поэтому в Sitepoint мне нужно было написать плагин для WordPress, который был бы действительно сложным. Таким образом, вы не можете просто добавить параметр. Вам нужно было иметь сложный интерфейс с множеством динамических форм, и вам нужно было взаимодействовать с базой данных. И я не хотел делать всю очистку и все самостоятельно. Так что я подумал, что есть и другие действительно хорошие фреймворки, которые позволяют сделать это действительно легко, и которые также намного проще поддерживать. Поэтому я просто решил связать эти компоненты вместе, а затем написать свой плагин, который мне нужно было написать поверх этого.
Джесс: Кто может использовать Оркестр тогда?
Майкл: По сути, каждый может использовать Orchestra, которому нужно написать плагин для WordPress. Но он построен на современных библиотеках PHP, которые требуют PHP 5.3. Так, например, он использует компоненты Symfony2, компоненты Doctrine. Так что вашему веб-серверу нужен PHP 5.3. Кроме того, если вы не имели дело с пространствами имен и множеством новых функций в PHP 5.3, это будет очень крутой кривой обучения.
Джесс: Как вы собираетесь использовать его тогда?
Майкл: Итак, Orchestra поставляется с командой, в которой вы пишете командную строку, которая позволяет вам создавать новый плагин. По сути, он устанавливает структуру и включает в себя демо. Итак, вы создаете его, а затем просто меняете его на то, что вам нужно, добавляете новые сущности, добавляете новые контроллеры, добавляете новые представления.
Джесс: Можешь показать нам, как это сделать? Может быть, вы можете собрать скринкаст? Покажите всем, как это работает.
Майкл: Да, конечно.
Джесс: Круто. Давайте посмотрим на это.
Майкл: Я уже установил WordPress и поместил плагин Orchestra в папку wp-content / plugins. Теперь я собираюсь показать, как вы можете использовать его для создания собственного плагина. Итак, в терминале, мы идем в папку плагинов. Затем введите «оркестр / консоль» и есть одна команда для создания плагинов. Так что плагин ключ, а затем ваше имя. Мы назовем это «демо».
Так что это создало демо-плагин в папке «демо». Вы можете увидеть его здесь. Теперь нам нужно активировать плагин в настройках плагина в WordPress. Так что вам нужно обновить это, и демо-версия появится здесь … и мы активируем плагин. Вы можете видеть, что здесь уже есть страница. Но вы также должны сказать это, чтобы обновить базу данных. И я покажу вам, что это будет делать. Так что в демоверсии уже есть немного кода. Мы моделируем то, что будет в базе данных в «Entity», и я создал там человека. Так что это создаст таблицу, которая представляет «wp_demo_persons». И у человека есть идентификатор и имя. Поэтому, когда мы сейчас скажем Doctrine, объектному реляционному менеджеру, обновить схему. Мы сделаем это. Я просто вставлю это и обновлю. Так что эта схема обновляется. Если мы посмотрим на нашу базу данных, мы должны увидеть новую таблицу здесь. Это здесь. У него есть идентификатор и имя.
Там пока ничего нет, но теперь мы можем использовать демо-плагин для редактирования, чтобы добавить новых людей для редактирования существующих людей. Так как демонстрационный плагин структурирован по шаблону MVC, который мы видим здесь в контроллере по умолчанию, у нас есть действие index. Так что это получат все лица, которые находятся в базе данных. Затем эти люди будут переданы в шаблон по умолчанию. Посмотрим, как это выглядит. Итак, мы идем на демо. Это вызовет контроллер по умолчанию и действие index. Там еще нет человека. Затем мы идем, чтобы «создать нового человека». И тогда мы увидим форму, где мы можем ввести «Джон Доу», например. Нажмите «Создать», и мы создали новую запись здесь. В базе данных это просто ID 1 с именем «Джон Доу». Форма настраивается в «действии создания», которое вызывается, поэтому мы создаем новый пустой объект person, мы создаем форму для него. Если мы используем метод POST для этого «действия создания», мы находим новые значения в форме, проверяем, действительно ли это. Если это так, он идет прямо в базу данных, и дайте нам знать, что это произошло во флэш-памяти, и перенаправьте на индекс.
Вот что вы видите здесь. «Персона создана», перенаправить на индекс. Аналогичная вещь для редактирования. Я покажу вам, как работает шаблон. Для редактирования тоже самое. Вы создаете форму. Установите для него модель, и затем вы отрендерите HTML, передадите ему форму и идентификатор. Таким образом, представление по умолчанию / edit.html.twig. который выглядит так. Итак, у нас есть действие формы, оно указывает на действие по умолчанию / редактирование. И мы визуализируем эту форму здесь … Отредактируйте ее и скажите «Джон Доу 2». Это отредактирует человека. И мы также можем удалить его.
По сути, это структура нового плагина. Итак, у вас есть контролеры, сущность, формы. И вы можете изменить его так, как вам нравится, и использовать консоль для обновления базы данных.
Джесс: Круто. Так вот, как вы используете оркестр. Если вы хотите узнать больше, где люди могут проверить вещи?
Майкл: По сути, Orchestra — это набор компонентов, которые уже доступны повсеместно, а также хорошо документированы, как вы можете в Orchestra и в документации для этих частей. По сути, вы можете обратиться к документации Symfony2, которая очень хорошо написана. Там также много документации о Доктрине, и то же самое касается Твига. По сути, все в оркестре освещается в Интернете, поэтому вы можете прочитать документацию. Единственная часть, которую я написал в Orchestra — это контроллер и маршрутизатор. Это моделируется вокруг контроллера Symfony2. Так что по большей части вы можете просто использовать эту документацию, и все готово.
Джесс: Слишком просто. Большое спасибо, Майкл.
Плагин Майкла доступен здесь .