Создание первого расширения

Предварительные требования

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

Шаг 1: Создайте и установите расширение

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

Примечание. Если вы хотите изучить структуру на примере тестового расширения, посмотрите наш пример расширения "Hello world" здесь.

Быстрый способ создания расширения – вызов утилиты командной строки extension (чтобы узнать о ней больше, читайте здесь):

plesk bin extension --create hello-world

В результате этого вызова будет создана необходимая файловая структура на сервере Plesk. Все пути к папкам отображаются после завершения работы утилиты:

Расширение успешно создано.
Путь к точкам доступа расширения: /usr/local/psa/admin/htdocs/modules/hello-world/
Путь к классам PHP: /usr/local/psa/admin/plib/modules/hello-world/
Путь к скриптам установки: /usr/local/psa/admin/plib/modules/hello-world/scripts/
Путь к папке с данными работы расширения: /usr/local/psa/var/modules/hello-world/

Здесь вы можете посмотреть пути к папкам, где развернуты файлы расширения. Читайте подробнее о способе организации файлов расширения здесь.

После развертывания шаблонной структуры вам надо зарегистрировать расширение на сервере Plesk с использованием следующей команды:

plesk bin extension --register hello-world

В результате новое расширение будет отображаться в списке расширений на странице Расширения в интерфейсе Plesk:

Инфраструктура

Расширения написаны на PHP, и при их организации широко используются практики Zend framework, например, использование схемы MVC (Модель-Вид-Контроллер) и конструирование форм. Хотя использование этих практик, строго говоря, необязательно, оно настоятельно рекомендуется. Поскольку хотя бы минимальное знание PHP обязательно для написания расширений, мы предполагаем, что читатели данного документа в той или иной степени знакомы с этим языком программирования. Если вы прежде не писали приложений на PHP, вы все равно можете использовать этот документ, но для разработки расширения вам может понадобиться изучить некоторые темы, связанные с PHP (выходящие за пределы содержания этого документа).

Шаг 2: Создайте контроллер

Шаблон расширения, поставляемый в комплекте с Plesk, содержит один контроллер /usr/local/psa/admin/plib/modules/hello-world/controllers/IndexController.php, содержащий шаблонное действие.

Рассмотрим передадим данные этого контроллера представлению. В нашем случае мы получаем доступ к учетной записи текущего пользователя pm_Session:

class IndexController extends pm_Controller_Action
{
 public function indexAction()
 {
 $this->view->name = pm_Session::getClient()->getProperty('pname');
 }
}
Шаг 3: Создайте вид

Кроме того, поставляемый шаблон расширения содержит вид для этого контроллера: /usr/local/psa/admin/plib/modules/hello-world/views/scripts/index/index.phtml

Предполагается, что в этом виде будет отображено следующее сообщение:

Hello, <?php echo $this->name; ?>!

Вы можете зайти на стартовую страницу расширения и удостовериться, что это сообщение отображается.

Шаг 4: Сожмите расширение

Перед тем как распространять расширение, его надо сжать. Вы можете сделать это с помощью утилиты командной строки extension:

plesk bin extension --pack hello-world

В случае успешного завершения команды вывод будет выглядеть следующим образом:

Расширение было успешно экспортировано в /root/hello-world-1.0-1.zip

Теперь вы можете скачать полученный архив.

Шаг 5: Удалите неиспользуемые файлы и папки

В рамках шаблона расширения было создано несколько функций, которые позволяют начать разработку быстрее, но не все из них используются. Рекомендуется просмотреть их и удалить те, которые не используются. В рассматриваемом примере расширения не используется ни один из скриптов установки, так что вы можете спокойно удалить папку plib/scripts.

Шаг 6: Добавьте значки и снимки экрана

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

  • _meta
    • icons
      • 32x32.png - значок размером 32x32 пикселей
      • 64x64.png - значок размером 64x64 пикселей
    • снимки экрана (до 3 снимков с расширением 1024x768)
      • 1.png
      • 2.png
Шаг 7: Обновите файл метаданных

Перед публикацией расширения вам надо добавить в файл метаданных корректное название, описание, имя и адрес сайта поставщика, поддерживаемую версию Plesk и так далее:

<?xml version="1.0" encoding="UTF-8"?>
<module>
 <id>hello-world</id>
 <name>Hello World</name>
 <description>Простое расширение для отображения "Hello, World!"</description>
 <version>1.0</version>
 <release>1</release>
 <vendor>Plesk</vendor>
 <url>https://www.plesk.com</url>
 <plesk_min_version>11.0</plesk_min_version>
</module>

Более подробную информацию о meta.xml смотрите здесь.

Шаг 8: Пройдите сертификацию

Теперь вы можете отправить свое расширение на сертификацию для публикации в каталоге расширений. Более подробную информацию о процессе публикации смотрите здесь: https://ext.plesk.com/help.

 

Leave your feedback on this topic here

If you have questions or need support, please visit the Plesk forum or contact your hosting provider.
The comments below are for feedback on the documentation only. No timely answers or help will be provided.