1C-Bitrix
25.700.0
Загрузка...
Поиск...
Не найдено
renderer.php
См. документацию.
1
<?php
2
3
namespace
Bitrix\Main\Cli\Helper;
4
5
use Bitrix\Main\Cli\Helper\Renderer\Template;
6
use Bitrix\Main\IO\File;
7
8
final
class
Renderer
9
{
10
public
function
renderToFile
(
string
$filePath,
Template
$template
): void
11
{
12
$file =
new
File
($filePath);
13
$file->putContents(
$template
->getContent());
14
}
15
16
public
function
replaceFileContent
(
string
$filePath,
Template
$template
,
string
$startTag,
string
$endTag): void
17
{
18
$file =
new
File
($filePath);
19
20
if
(!$file->isExists())
21
{
22
$this->
renderToFile
($filePath,
$template
);
23
return
;
24
}
25
26
$fileContent
= $file->getContents();
27
$templateContent =
$template
->getContent();
28
29
$startPos = mb_strpos(
$fileContent
, $startTag);
30
$endPos = mb_strpos(
$fileContent
, $endTag);
31
32
if
($startPos !==
false
&& $endPos !==
false
&& $endPos > $startPos)
33
{
34
$beforeStart = mb_substr(
$fileContent
, 0, $startPos + mb_strlen($startTag));
35
$afterEnd = mb_substr(
$fileContent
, $endPos);
36
37
$newContent = $beforeStart . PHP_EOL . $templateContent . PHP_EOL . $afterEnd;
38
}
39
else
40
{
41
$lastBrace = mb_strrpos(
$fileContent
,
'}'
);
42
43
if
($lastBrace !==
false
)
44
{
45
$beforeBrace = mb_substr(
$fileContent
, 0, $lastBrace);
46
$afterBrace = mb_substr(
$fileContent
, $lastBrace);
47
48
$newContent = $beforeBrace . PHP_EOL . $templateContent . PHP_EOL . $afterBrace;
49
}
50
else
51
{
52
$newContent =
$fileContent
. PHP_EOL . $templateContent;
53
}
54
}
55
56
$file->putContents($newContent);
57
}
58
}
Bitrix\Main\Cli\Helper\Renderer\renderToFile
renderToFile(string $filePath, Template $template)
Определения
renderer.php:10
Bitrix\Main\Cli\Helper\Renderer\replaceFileContent
replaceFileContent(string $filePath, Template $template, string $startTag, string $endTag)
Определения
renderer.php:16
$template
$template
Определения
file_edit.php:49
$fileContent
$fileContent
Определения
file_property.php:47
Bitrix\Main\Cli\Helper\Renderer\Template
Определения
template.php:6
Bitrix\Main\Cli\Helper\Renderer
Определения
template.php:3
Bitrix\Main\File
Определения
Image.php:9
bitrix
modules
main
lib
cli
helper
renderer.php
Создано системой
1.14.0