Консольные команды

Содержание...

Фреймворк Webasyst позволяет выполнять некоторые служебные команды посредством интерфейса командной строки сервера (CLI). Служебные команды предназначены для разработчиков собственных программных продуктов: приложений и плагинов.

Для выполнения служебных команд необходим соответствующий доступ к веб-серверу, на котором установлен фреймворк, например, консоль (терминал) командной строки или SSH. При выполнении команды выполняется вызов интерпретатора PHP с указанием имени файла wa.php, расположенного в корневой директории фреймворка.

  • createApp

    Создание приложения.

  • createPlugin

    Создание плагина для приложения.

  • createSystemplugin

    Создание системного плагина.

  • createTheme

    Создание темы дизайна.

  • createWidget

    Создание виджета.

  • generateDb

    Формирование файла описания таблиц базы данных.

  • compress

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

  • locale

    Поиск новых строк локализации.

php wa.php createApp app_id parameters

Создает базовый набор директорий и файлов, необходимых для разработки нового приложения в директории wa-apps/[app_id]/.

Параметры

  • app_id

    Идентификатор приложения (строка в нижнем регистре, например, myapp).

  • parameters

    Параметры:

    • -name: Название приложения; если название состоит из нескольких слов, то его нужно заключить в кавычки, например, 'My app'.
    • -version: Версия приложения, например, 1.0.0.
    • -vendor: Числовой идентификатор разработчика.
    • -frontend: Имеет ли приложение фронтенд (публично доступные страницы).
    • -themes: Поддерживает ли приложение подключение тем дизайна (доступно только при включенном параметре -frontend:).
    • -plugins: Поддерживает ли приложение подключение плагинов.
    • -cli: Имеются ли в приложении обработчики вызовов через командную строку — для выполнения заданий планировщика (cron).
    • -api: Предоставляет ли приложение методы API.

Пример

php wa.php createApp myapp -name 'My app' -version 1.0.0 -vendor 123456 -frontend -themes -plugins -cli -api

php wa.php createPlugin app_id plugin_id parameters

Создает базовый набор директорий и файлов, необходимых для разработки нового плагина к существующему приложению в директории wa-apps/[app_id]/plugins/[plugin_id].

Параметры

  • app_id

    Идентификатор приложения (строка в нижнем регистре, например, myapp).

  • plugin_id

    Идентификатор плагина (строка в нижнем регистре, например, myplugin).

  • parameters

    Параметры:

    • -name: Название плагина; если название состоит из нескольких слов, то его нужно заключить в кавычки, например, 'My plugin'.
    • -version: Версия плагина, например, 1.0.0.
    • -vendor: Числовой идентификатор разработчика.
    • -frontend: Имеет ли плагин функции для фронтенда (публично доступных страниц).
    • -settings: Реализован ли в плагине собственный интерфейс настроек (в качестве замены стандартному).

Пример

php wa.php createPlugin someapp myplugin -name 'My plugin' -version 1.0.0 -vendor 123456 -frontend -settings

php wa.php createSystemplugin type plugin_id parameters

Создает базовый набор директорий и файлов, необходимых для разработки нового системного плагина оплаты, доставки или отправки SMS в директории wa-plugins/[type]/[plugin_id].

Параметры

  • type

    Тип плагина: payment, shipping или sms.

  • plugin_id

    Идентификатор плагина (строка в нижнем регистре, например, myplugin).

  • parameters

    Параметры:

    • -name: Название плагина; если название состоит из нескольких слов, то его нужно заключить в кавычки, например, 'My shipping'.
    • -version: Версия плагина, например, 1.0.0.
    • -vendor: Числовой идентификатор разработчика.
    • -settings: Предоставляет ли плагин интерфейс для сохранения пользовательских настроек.
    • -prototype: Идентификатор установленного системного плагина того же типа, исходный код которого нужно использовать в качестве образца для создания нового плагина.

Пример

php wa.php createSystemplugin shipping myplugin -name 'My shipping' -version 1.0.0 -vendor 123456 -prototype courier

php wa.php createTheme app_id[,app_id_2[,...]] theme_id parameters

Создает базовый набор директорий и файлов, необходимых для разработки новой темы дизайна.

Параметры

  • app_id[,app_id_2[,...]]

    Идентификатор одного приложения или идентификаторы нескольких приложений через запятую. Вместо перечисления всех приложений с поддержкой фронтенда, доступных в бекенде разработчика, можно указать символ * (звёздочка).

  • theme_id

    Идентификатор темы дизайна (строка в нижнем регистре, например, mytheme).

  • parameters

    Параметры:

    • -name: Название темы дизайна; если название состоит из нескольких слов, то его нужно заключить в кавычки, например, 'My widget'.
    • -parent: Идентификатор родительской темы дизайна.
    • -version: Версия темы дизайна, например, 1.0.0.
    • -vendor: Числовой идентификатор разработчика.
    • -prototype: Идентификатор установленной темы, которая будет использована в качестве прототипа. По умолчанию в качестве прототипа используется тема дизайна с идентификатором default.

Пример

php wa.php createTheme site,shop,blog mytheme -name 'My theme' -version 1.0.0 -vendor 123456 -prototype dummy

php wa.php createWidget app_id widget_id parameters

Создает базовый набор директорий и файлов, необходимых для разработки нового виджета.

Параметры

  • app_id

    Идентификатор приложения. Если необходимо создать общесистемный плагин в директории wa-widgets/, следует указать идентификатор приложения webasyst.

  • widget_id

    Идентификатор виджета (строка в нижнем регистре, например, mywidget).

  • parameters

    Параметры:

    • -name: Название виджета; если название состоит из нескольких слов, то его нужно заключить в кавычки, например, 'My widget'.
    • -version: Версия виджета, например, 1.0.0.
    • -vendor: Числовой идентификатор разработчика.
    • -settings: Предоставляет ли виджет интерфейс для сохранения пользовательских настроек.

Пример

php wa.php createWidget shop mywidget -name 'My widget' -version 1.0.0 -vendor 123456 -settings

php wa.php generateDb app_id/plugin_id tables -update

Формирует либо обновляет конфигурационный файл описания базы данных приложения или плагина lib/config/db.php.

Параметры

  • app_id

    Идентификатор приложения (строка в нижнем регистре, например, myapp).

  • plugin_id

    Необязательный идентификатор плагина — если необходимо сформировать файл db.php для плагина, а не приложения.

  • tables

    Список названий таблиц, разделенных пробелами, описания которых необходимо добавить в файл.

  • -update

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

Примеры для приложения

#создание файла db.php
php wa.php generateDb myapp myapp_items myapp_types

#обновление файла db.php
php wa.php generateDb myapp myapp_items myapp_types -update

Примеры для плагина

#создание файла db.php
php wa.php generateDb someapp/myplugin myplugin_items myplugin_types

#обновление файла db.php
php wa.php generateDb someapp/myplugin myplugin_items myplugin_types -update

php wa.php compress slug params

Выполняет базовую проверку программного кода и сжатие исходных файлов в архив для публикации в магазине Webasyst.

Параметры

  • slug

    Идентификатор приложения, плагина или темы дизайна. Примеры идентификаторов:

    • myapp
    • someapp/plugins/myplugin
    • someapp/themes/mytheme
    • wa-plugins/payment/myplugin
    • wa-plugins/shipping/myplugin
    • wa-plugins/sms/myplugin
  • params

    Параметры:

    • -style Параметры проверки программного кода:
      • true: Проверка кода выполняется.
      • false: Проверка кода не выполняется.
      • no-vendors: (значение по умолчанию) Проверка кода выполняется за исключением файлов в директориях lib/vendors/ и js/vendors/ (продукты третьих сторон, используемые в вашем приложении или плагине).
    • -skip Пропуск отдельных операций:
      • compress: Не выполнять сжатие файлов в архив.
      • test: Не выполнять базовую проверку программного кода, наличие заявленных параметров маршрутизации и файлов конфигурации таблиц базы данных.
      • all: Не выполнять ни одно из этих действий.
      • none: (значение по умолчанию) Ничего не пропускать — выполнять все операции.

Примеры

# проверить код без подключенных продуктов третьих сторон и сжать файлы в архив
php wa.php compress someapp/plugins/myplugin

# проверить код вместе c подключенными продуктами третьих сторон и сжать файлы в архив
php wa.php compress someapp/plugins/myplugin -style true

# проверить код без подключенных продуктов третьих сторон, не сжимая файлы в архив
php wa.php compress someapp/plugins/myplugin -skip compress

# сжать файлы в архив без какой-либо проверки
php wa.php compress someapp/plugins/myplugin -skip test

php wa.php locale slug --debug

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

Параметры

  • slug

    Идентификатор приложения, плагина или темы дизайна. Примеры идентификаторов:

    • myapp
    • someapp/plugins/myplugin
    • someapp/themes/mytheme
    • wa-plugins/payment/myplugin
    • wa-plugins/shipping/myplugin
    • wa-plugins/sms/myplugin
  • --debug

    Строковый параметр-флаг, при наличии которого в PO-файлы добавляется также отладочная информация:

    • пути к файлам и номера строк в них, где используется каждый из ключей локализации;
    • комментарии «Not found» — в случае, если ключи локализации, присутствующие в PO-файле, не используются в исходном коде продукта (случаи, когда ключи локализации передаются в функции локализации в виде переменных, не учитываются).

Примеры

# только добавить в PO-файлы новые ключи локализации
php wa.php locale someapp
php wa.php locale someapp/plugins/myplugin

# добавить в PO-файлы новые ключи локализации
# и комментарии с путями к файлам и информацией о ненайденных ключах
php wa.php locale someapp --debug
php wa.php locale someapp/plugins/myplugin --debug