- Введение
- Использование обновления интерфейса командной строки (CLI Update)
- Общее Использование Команд
- Участие в обновлении CLI в качестве разработчика
Введение.
Выполнение некоторых второстепенных задач в панели администратора Joomla может показаться громоздким и медленным. Обновление интерфейса командной строки (CLI Update) для CMS Joomla представляет более быстрый способ выполнения некоторых из этих операций с помощью командной строки. Это открывает путь к более быстрой интеграции в приложение Joomla. С его помощью небольшие тесты можно выполнять быстрее, не используя монотонные процессы работы в веб-панели мониторинга. Это приложение CLI для CMS Joomla, которое позволяет пользователю выполнять обновления в CMS.
В этой документации показано, как можно использовать обновление командной строки и как вы можете расширить его функциональность как разработчик.
Требования.
Как и для всех приложений CLI (интерфейс командной строки), для использования инструментов, предоставляемых обновлением командной строки, требуется доступ к вашей установке Joomla через командную строку. Возможно, вы захотите рассмотреть возможность доступа по SSH к вашему рабочему серверу.
Термины и определения.
- CLI - Интерфейс командной строки (Command Line Interface)
- SSH - Защищенная оболочка (Secure SHell)
Использование обновления интерфейса командной строки (CLI Update).
Для того чтобы вы могли использовать инструменты, предоставляемые CLI Update, как сказано в предыдущем разделе, вам необходим доступ к CLI в корневой каталог установки Joomla. Другими словами, вы должны находиться в корневой папке вашей CMS Joomla, так как все команды будут выполняться из корневой папки.
Общее Использование Команд.
В этом разделе мы поговорим об использовании команд. Мы рассмотрим различные команды, что это такое и как вы можете их использовать. Мы перейдем к проверке доступных команд в обновлении командной строки.
Доступные команды.
В обновлении командной строкой (CLI Update) доступно довольно много команд, готовых к использованию. Эти команды сгруппированы в зависимости от области CMS Joomla, к которой они относятся.
Проверка обновлений ядра CMS Joomla.
Обновление командной строки (CLI Update) предоставляет команду для проверки обновлений Joomla, оно работает так же, как веб-версия com_joomlaupdate
. Оно проверяет наличие обновлений и сообщает, доступно ли обновление или нет. Чтобы запустить проверку обновлений, мы просто выполним команду следующим образом из корневого каталога:
php cli/joomla.php core:check-updates
Команда выполняется, и на выходе отображается доступная версия обновления, если она доступна, или указывается, что текущая установка обновлена до последней доступной версии Joomla.
Команды расширения.
Следующая группа команд - это команды на основе расширений, проще говоря, команды позволяют нам управлять расширениями в ядре Jommla, обновление командной строки (CLI Update) поставляется с командами для установки, вывода списков и удаления расширений.
Список установленных расширений.
Эта команда позволяет нам увидеть в виде списка все установленные расширения. Эта команда может выполняться двумя различными способами:
- Общий список (General Listing): Перечисляет все установленные расширения. Под расширениями подразумеваются компоненты, языки, плагины, модули Joomla 4, которые будут перечислены вместе при выполнении этой команды. Вот как вы называете команду:
php cli/joomla.php extension:list
- Список по типам (Listing By types): Общий список расширений может быть слишком длинным, если вы ищете конкретное расширение из большого списка, однако вы можете сократить их число, указывая явно тип расширений, которые вы хотите отобразить командой, добавив параметр типа в команду. Вот как это делается:
php cli/joomla.php extension:list --type=language
Здесь будут перечислены только языковые расширения, вы также можете указать--type
как модуль, плагин и компонент.
Установка расширения.
Joomla обеспечивает установку расширения через URL-адрес zip-файла или путь к файлу, обновление командной строки (CLI Update) также предоставляет и то, и другое, и как вы можете их использовать, описано ниже.
- Установка по URL (Installing from URL): Чтобы установить расширение по URL, мы выполним команду следующим образом и предоставим аргумент и опцию для команды
extension:install
.
php cli/joomla.php extension:install --url=https://github.com/joomla-extensions/patchtester/releases/download/3.0.0-beta3/com_patchtester.zip
Это позволит загрузить и установить расширение Joomlacom_patchtester
. - Установка с использованием ПУТИ (Installing from a PATH): Чтобы установить расширение с ПУТИ, по которому находится устанавливаемый пакет, мы запустим ту же команду
extension:install
и укажем аргументы для путей расположения пакета с расширением на локальном диске сервера:
php cli/joomla.php extension:install --path=/Users/bosunski/docs/com_pathtester.zip
Это загружает расширение и выполняет установку, как и ожидалось.
Удаление расширения.
Последней командой в этой категории является команда extension:remove
, которая используется для удаления расширений из CMS Joomla. Эта команда принимает в качестве аргумента идентификатор extension_id
, вы всегда можете использовать extension:list
для отображения идентификатора расширения id
. Вот как мы удаляем расширение с id 803
:
php cli/joomla.php extension:remove 803
Обновление ядра Joomla 4.
Поскольку обновление командной строки (CLI Update) предоставляет команду для проверки обновления, оно также предоставляет команду для выполнения обновления, если обновление доступно. Чтобы выполнить обновление, мы просто запустим это:
php cli/joomla.php core:update
Эта команда обновляет ядро Joomla до последней доступной версии.
Установка Joomla через интерфейс командной строки.
Следующая команда - это команда core:install
, которая позволяет устанавливать CMS Joomla через интерфейс командной строки. Эта команда может работать в двух режимах: Интерактивном режиме и неинтерактивном режиме.
Интерактивная установка CMS Joomla.
Чтобы выполнить новую установку Joomla в интерактивном режиме, мы просто запустим команду extension:install
следующим образом:
php cli/joomla.php extension:install
Будет запущен режим установки по умолчанию, и вам будет предложено ввести необходимые настройки, как только все параметры будут введены и проверены, установка будет запущена и Joomla будет установлена.
Неинтерактивная установка CMS Joomla.
Другой тип установки CMS Joomla - неинтерактивный режим. В этом режиме вам не будет предложено ввести параметры, поскольку все параметры будут указаны в файле, и команда выберет параметр, указывающий путь к файлу, из которого вы хотите загрузить параметры, это делается так:
php cli/joomla.php core:install --file=/path/to/config.json
Примером содержимого файла config.json
может быть:
{
"language":"en-GB",
"site_name":"Joomla",
"admin_email":"email@example.com",
"admin_user":"user",
"admin_password":"password",
"db_type":"mysql",
"db_host":"localhost",
"db_user":"root",
"db_pass":"xcdxcx",
"db_name":"jtest",
"db_prefix":"efs0k_",
"db_old":"remove",
"helpurl":"https://joomla.org"
}
или в качестве примера config.ini
site_name="gsoc"
admin_email="user@example.com"
admin_user="user"
admin_password="secret"
db_type="mysql"
db_host="localhost"
db_user="root"
db_pass=""
db_name="joomla"
db_prefix="prefix_"
Параметры загружаются из файла и проверяются, после чего будет запущена установка.
Команды на основе конфигурации.
Следующий набор команд, которые мы рассмотрим, предназначен для настройки и просмотра параметров конфигурации внутри установки Joomla:
Настройка конфигураций с помощью CLI Update в CMS Joomla 4.
Обновление командной строки (CLI Update) предоставляет команду для изменения значения параметра, существующего в конфигурации. С помощью команды config:get
вы можете установить любой параметр конфигурации, который существует внутри configuration.php
. Вот так можно использовать команду:
php cli/joomla.php config:set mailer=mail
Вы даже можете добавить несколько пар параметров-значений для CMS Joomla, например:
php cli/joomla.php config:set mailer=mail fromname=Joomla! sitename="Joomla Site"
Это позволит установить сразу несколько параметров.
Получение конфигураций с помощью CLI Update из файла конфигурации CLI Update CMS Joomla 4.
Следующей командой в этой категории является команда config:get
, как следует из названия, она получает значение параметра, существующего внутри configuration.php
, если команде не задан аргумент, она отобразит все доступные параметры в табличной форме. Вот команда эта:
php cli/joomla.php config:get sitename
Это вернет значение для параметра sitename
.
php cli/joomla.php config:get
Это вернет все значения для доступных параметров из файла конфигурации CLI Update CMS Joomla 4:
Получение сгруппированных конфигураций с помощью CLI Update из файла конфигурации CLI Update CMS Joomla 4.
CLI Update добавляет опцию в команду config:get
, которая позволяет нам получить логически сгруппированные параметры, например, вы хотите просмотреть все параметры, связанные с вашей базой данных, или вы хотите просмотреть все параметры, связанные с электронной почтой. Для достижения этой цели обновление командной строки (CLI Update) предоставляет возможность указать группу параметров для отображения, вот как это сделать:
php cli/joomla.php config:get --group=mail
Команда принимает параметр group
и присваивает значение mail
. CLI Update в настоящее время поддерживает групповые значения: mail
, db
и session
.
Команды "Site down" и "Site up".
Как следует из названия, эти команды позволяют быстро перевести ваш веб-сайт на Joomla в автономный или онлайн-режим. Вот как использовать команды:
php cli/joomla.php site:up
php cli/joomla.php site:down
Вторая команда переводит веб-сайт в автономный режим, в то время как первая команда переводит веб-сайт в онлайн-режим.
Участие в CLI Update в качестве разработчика.
Добавление дополнительных команд.
Обновление CLI (CLI Update) поставляется с некоторыми командами, которые добавляются в зависимости от необходимости, наблюдаемой на данный момент. Однако обновление интерфейса командной строки позволяет легко добавлять другие команды, и именно для этого предназначен этот раздел. Видеоурок на английском языке: https://youtu.be/gcJJtTcPiTg
Вызов других команд в классах команд.
В случае, если команда, которую вы хотите написать для обновления командной строки (CLI Update), потребует, чтобы вы вызвали существующую команду внутри, это то смотри код ниже того, как это может быть достигнуто из другого класса команд:
<?php
class RunHelloCommand extends AbstractCommand {
...
public function execute(): int {
$command = $this->getApplication()->getCommand('say:hello');
$code = $command->execute();
if($code === 0) {
// command ran successfully, do something
}
}
...
}
Здесь мы пытаемся вызвать команду say:hello
, созданную в видео по ссылке выше.
Некоторые важные вещи, которые следует проверить.
- Symfony Style Documentation: How to Style a Console Command.
- «Написание консольного приложения (CLI Application) для Joomla 4»
Перевод с английского официальной документации Joomla 4:
https://docs.joomla.org/J4.x:CLI_Update
Заберите ссылку на статью к себе, чтобы потом легко её найти!
Раз уж досюда дочитали, то может может есть желание рассказать об этом месте своим друзьям, знакомым и просто мимо проходящим?
Не надо себя сдерживать! ;)