bitrix-console
ΠΠ°ΠΊ ΠΏΠΎΡΡΠ°Π²ΠΈΡΡ
- Π‘ΡΠ°Π²ΠΈΠΌ ΠΏΠ°ΠΊΠ΅Ρ ΡΠ΅ΡΠ΅Π· composer
composer require magnifico/bitrix-console:^0.1
- Π‘ΡΠ°Π²ΠΈΠΌ ΡΠΈΠΌΠ»ΠΈΠ½ΠΊ Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ "magnifico.console" ΠΈΠ· Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ bitrix'Π° Π½Π° ΠΌΠ΅ΡΡΠΎΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΏΠ°ΠΊΠ΅ΡΠ°, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ:
cd /home/bitrix/www/bitrix/modules
ln -s ../../../vendor/magnifico/bitrix-console magnifico.console
-
Π£ΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΠΌ ΠΌΠΎΠ΄ΡΠ»Ρ Π² Π°Π΄ΠΌΠΈΠ½ΠΊΠ΅ Π±ΠΈΡΡΠΈΠΊΡΠ°, (*1)
-
Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ Π³Π΄Π΅-Π½ΠΈΠ±ΡΠ΄Ρ ΡΠ°ΠΉΠ» "manage.php":, (*2)
<?php
# ΠΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΠΌ, Π³Π΄Π΅ Π½Π°Ρ
ΠΎΠ΄ΠΈΡΡΡ DOCUMENT_ROOT
$_SERVER['DOCUMENT_ROOT'] = '/home/bitrix/www';
# ΠΠΊΠ»ΡΡΠ°Π΅ΠΌ ΡΠ»ΡΠΆΠ΅Π±Π½ΡΠΉ ΡΠΊΡΠΈΠΏΡ, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠ΄Π΅Π»Π°Π΅Ρ Π²ΡΠ΅ ΠΎΡΡΠ°Π»ΡΠ½ΠΎΠ΅
require_once $_SERVER['DOCUMENT_ROOT'].'/bitrix/modules/magnifico.console/manage.php';
- ΠΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΡ
ΠΠ°ΠΊ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ ΠΌΠΎΠ΄ΡΠ»Π΅ΠΌ
Π§ΡΠΎΠ±Ρ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΡΠ²ΠΎΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π² ΠΈΠ½ΡΡΠ°Π½Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, Π½ΡΠΆΠ½ΠΎ ΠΏΠΎΠ΄ΠΏΠΈΡΠ°ΡΡΡΡ Π½Π° ΡΠΎΠ±ΡΡΠΈΠ΅ "OnBeforeRun":, (*3)
$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 Π·Π°Π³ΡΡΠ·ΠΈΡ Π²ΡΠ΅ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½ΡΠ΅ Π² ΡΠΈΡΡΠ΅ΠΌΠ΅ ΠΌΠΎΠ΄ΡΠ»ΠΈ, ΡΡΠΎΠ±Ρ ΠΎΠ½ΠΈ ΠΌΠΎΠ³Π»ΠΈ ΠΏΠΎΠ΄ΠΏΠΈΡΠ°ΡΡΡΡ Π½Π° ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠ΅ ΡΠΎΠ±ΡΡΠΈΠ΅ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΡΠΌ Π²ΡΡΠ΅ ΡΠΏΠΎΡΠΎΠ±ΠΎΠΌ., (*4)
Π ΠΎΡΡΠ°Π»ΡΠ½ΠΎΠΌ ΡΠ°Π±ΠΎΡΠ° ΠΈΠ΄Π΅Π½ΡΠΈΡΠ½Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΈΠ· symfony/console., (*5)