1C-Bitrix
25.700.0
Загрузка...
Поиск...
Не найдено
pathgenerator.php
См. документацию.
1
<?php
2
3
namespace
Bitrix\Main\Cli\Helper;
4
5
final
class
PathGenerator
6
{
7
public
function
__construct
(
8
private
bool
$isCamelCase,
9
private
string
$rootFolder,
10
)
11
{}
12
13
public
function
generatePathToClass
(
string
$namespace,
string
$className): string
14
{
15
return
16
$this->rootFolder
17
.
'/'
18
. $this->
generatePathByNamespace
($namespace)
19
.
'/'
20
. $this->
generateFileNameByClass
($className)
21
;
22
}
23
24
public
function
generatePathByNamespace
(
string
$namespace): string
25
{
26
$parts = explode(
'\\'
, trim($namespace,
'\\'
));
27
$moduleParts = array_slice($parts, 0, 2);
28
$tailParts = array_slice($parts, 2);
29
30
$moduleParts = array_map(
31
static
fn($part) => strtolower($part),
32
$moduleParts
33
);
34
if
(!$this->isCamelCase)
35
{
36
$tailParts = array_map(
37
static
fn($part) => strtolower($part),
38
$tailParts
39
);
40
}
41
42
if
($moduleParts[0] ===
'bitrix'
)
43
{
44
$modulesFolder =
'bitrix/modules/'
;
45
unset($moduleParts[0]);
46
}
47
else
48
{
49
$modulesFolder =
'local/modules/'
;
50
}
51
52
return
53
$modulesFolder
54
. join(
'.'
, $moduleParts)
55
.
'/lib/'
56
. join(DIRECTORY_SEPARATOR, $tailParts)
57
;
58
}
59
60
public
function
generateFileNameByClass
(
string
$className,
string
$ext =
'.php'
): string
61
{
62
if
($this->isCamelCase)
63
{
64
return
$className . $ext;
65
}
66
67
return
strtolower($className) . $ext;
68
}
69
}
Bitrix\Main\Cli\Helper\PathGenerator
Определения
pathgenerator.php:6
Bitrix\Main\Cli\Helper\PathGenerator\generatePathByNamespace
generatePathByNamespace(string $namespace)
Определения
pathgenerator.php:24
Bitrix\Main\Cli\Helper\PathGenerator\__construct
__construct(private bool $isCamelCase, private string $rootFolder,)
Определения
pathgenerator.php:7
Bitrix\Main\Cli\Helper\PathGenerator\generateFileNameByClass
generateFileNameByClass(string $className, string $ext='.php')
Определения
pathgenerator.php:60
Bitrix\Main\Cli\Helper\PathGenerator\generatePathToClass
generatePathToClass(string $namespace, string $className)
Определения
pathgenerator.php:13
bitrix
modules
main
lib
cli
helper
pathgenerator.php
Создано системой
1.14.0