Фреймворк 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