Skip to content

Commit 79c6438

Browse files
committed
Изменен способ запуска команды.
1 parent e273190 commit 79c6438

3 files changed

Lines changed: 49 additions & 8 deletions

File tree

README.md

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,26 @@
11
# Bitrix module generator
22

3-
############################################
3+
## Установка
44

5-
php .\vendor\proklung\bitrix.module.generator\bin\console make:module test.module prokl --entity=false --admin=false --serviceprovider=false
5+
1) `composer require proklung/bitrix.module.generator`
6+
7+
2) `cp vendor/proklung/bitrix-module-generator/bin/module bin/module` - копируем исполняемый файл в папку bin.
8+
9+
## Использование
10+
11+
`php bin\module make:module test.module prokl --entity=false --admin=false --serviceprovider=false`
612

713
Где test.module - название модуля, а prokl - вендор модуля.
814

915
--entity - генерировать класс сущности для таблицы модуля. По умолчанию - да.
1016
--admin - генерировать админку с опциями для модуля. По умолчанию - да.
1117
--serviceprovider - генерировать микро-сервис-провайдер модуля. По умолчанию - нет.
1218

13-
############################################
19+
## Нюансы
1420

1521
В названиях модуля нельзя использовать слово new. Возникают проблемы с именованием класса сущности.
1622

17-
############################################
18-
1923
Автозагрузка классов без имплицитного указания в include.php: название файла в lowercase.
2024
Namespace: <вендор модуля>\<Название модуля до точки>\<Название модуля после точки>;
2125

2226
Название файла с классом только lowercase!
23-
24-
############################################

bin/module

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ use Symfony\Component\Filesystem\Filesystem;
99

1010
@set_time_limit(0);
1111

12-
$_SERVER['DOCUMENT_ROOT'] = __DIR__ . DIRECTORY_SEPARATOR . '../../../..';
12+
$_SERVER['DOCUMENT_ROOT'] = __DIR__ . DIRECTORY_SEPARATOR . '..';
1313
$GLOBALS['DOCUMENT_ROOT'] = $_SERVER['DOCUMENT_ROOT'];
1414

1515
$autoloadPath = $_SERVER['DOCUMENT_ROOT'] . '/vendor/autoload.php';

bin/module_internal

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
#!/usr/bin/env php
2+
<?php
3+
4+
use ProklUng\ModuleGenerator\Command\ModuleMaker;
5+
use ProklUng\ModuleGenerator\Utils\ConsoleCommandConfigurator;
6+
use ProklUng\ModuleGenerator\Utils\LoaderBitrix;
7+
use Symfony\Component\Console\Application;
8+
use Symfony\Component\Filesystem\Filesystem;
9+
10+
@set_time_limit(0);
11+
12+
$_SERVER['DOCUMENT_ROOT'] = __DIR__ . DIRECTORY_SEPARATOR . '../../../..';
13+
$GLOBALS['DOCUMENT_ROOT'] = $_SERVER['DOCUMENT_ROOT'];
14+
15+
$autoloadPath = $_SERVER['DOCUMENT_ROOT'] . '/vendor/autoload.php';
16+
17+
/** @noinspection PhpIncludeInspection */
18+
require_once $autoloadPath;
19+
20+
/**
21+
* Загрузить Битрикс.
22+
*/
23+
$loaderBitrix = new LoaderBitrix();
24+
$loaderBitrix->setDocumentRoot($_SERVER['DOCUMENT_ROOT']);
25+
$loaderBitrix->initializeBitrix();
26+
27+
if (!$loaderBitrix->isBitrixLoaded()) {
28+
exit('Bitrix not initialized.');
29+
}
30+
31+
$application = new ConsoleCommandConfigurator(
32+
new Application(),
33+
new ModuleMaker(
34+
new Filesystem()
35+
)
36+
);
37+
38+
$application->init();
39+
$application->run();

0 commit comments

Comments
 (0)