magnifico/bitrix-console

There is no license information available for the latest version (v0.1.7) of this package.

v0.1.7 2017-10-19 11:23 UTC

This package is not auto-updated.

Last update: 2024-04-14 01:57:31 UTC


README

Как поставить

  1. Ставим пакет через composer
composer require magnifico/bitrix-console:^0.1
  1. Ставим симлинк с именем "magnifico.console" из директории bitrix'а на местоположение пакета, например:
cd /home/bitrix/www/bitrix/modules
ln -s ../../../vendor/magnifico/bitrix-console magnifico.console
  1. Устанавливаем модуль в админке битрикса

  2. Создаем где-нибудь файл "manage.php":

<?php

# Определяем, где находится DOCUMENT_ROOT
$_SERVER['DOCUMENT_ROOT'] = '/home/bitrix/www';

# Включаем служебный скрипт, который сделает все остальное
require_once $_SERVER['DOCUMENT_ROOT'].'/bitrix/modules/magnifico.console/manage.php';
  1. Пользуемся

Как работать с модулем

Чтобы добавить свои команды в инстанс приложения, нужно подписаться на событие "OnBeforeRun":

$eventManager = \Bitrix\Main\EventManager::getInstance();

$eventManager->addEventHandler('magnifico.console', 'OnBeforeRun', function(\Bitrix\Main\Event $event){
    $app = $event->getParameter('app');
    $app->add(new class() extends \Symfony\Component\Console\Command\Command {
        protected function configure()
        {
            $this->setName('foobar');
        }
    });
});

Перед запуском приложения скрипт manage.php загрузит все установленные в системе модули, чтобы они могли подписаться на указанное событие приведенным выше способом.

В остальном работа идентична приложению из symfony/console.