[MMO] Core Library [2.2.7]

Black Shadow
  • Black Shadow
  • Типо лакализатор🚭
  • 1 447
Black Shadow
  • Black Shadow
  • Типо лакализатор🚭
  • 1 447
@Mamka, устанавливай не бойся, это копия файла, чтобы данные сохранились
[automerge]1686671137[/automerge]
@Mamka,У меня самого этот плагин стоит
 
bobobo
@Mamka,
carbon:
#!/usr/bin/env php
<?php

/**
 * Proxy PHP file generated by Composer
 *
 * This file includes the referenced bin path (../nesbot/carbon/bin/carbon) using eval to remove the shebang if present
 *
 * @generated
 */

$binPath = realpath([B]DIR[/B] . "/" . '../nesbot/carbon/bin/carbon');
$contents = file_get_contents($binPath);
$contents = preg_replace('{^#!/.+\r?\n<\?(php)?}', '', $contents, 1, $replaced);
if ($replaced) {
    $contents = strtr($contents, array(
        '[B]FILE[/B]' => var_export($binPath, true),
        '[B]DIR[/B]' => var_export(dirname($binPath), true),
    ));

    eval($contents);
    exit(0);
}
include $binPath;
Этот код является сгенерированным файлом прокси на PHP, созданным Composer. Он используется для включения исполняемого файла, находящегося в пути '../nesbot/carbon/bin/carbon', и выполняет его содержимое.

Процесс работы кода следующий:

  1. Определяется путь к исполняемому файлу с помощью функции realpath(). Он вычисляет полный путь к файлу, начиная с текущего рабочего каталога и используя относительный путь '../nesbot/carbon/bin/carbon'.
  2. Функция file_get_contents() используется для чтения содержимого исполняемого файла.
  3. В регулярном выражении preg_replace(), которое ищет совпадение с шебангом (shebang) в начале файла (например, "#!/usr/bin/env php") и первым открывающимся тегом PHP (<?php), эти строки заменяются на пустую строку. Таким образом, шебанг и открывающий тег PHP удаляются из содержимого файла.
  4. Если произошла замена (т.е. шебанг и открывающий тег PHP были найдены и удалены), заменяются метки FILE и DIR в содержимом файла на соответствующие значения, соответствующие пути к исполняемому файлу и его директории.
  5. Функция eval() используется для выполнения обновленного содержимого файла в текущем контексте PHP.
  6. После выполнения содержимого файла вызывается функция exit(0), чтобы завершить выполнение программы.
  7. Если не произошла замена шебанга и открывающего тега PHP, то содержимое файла включается с помощью include $binPath, что позволяет использовать его код напрямую.
carbon.bat:
@ECHO OFF
setlocal DISABLEDELAYEDEXPANSION
SET BIN_TARGET=%~dp0/../nesbot/carbon/bin/carbon
php "%BIN_TARGET%" %*

  1. @echo OFF: Это команда отключает вывод команд в командной строке. Она обычно используется, чтобы скрыть команды отображения из бат-файла во время выполнения.
  2. setlocal DISABLEDELAYEDEXPANSION: Эта команда включает локальную область видимости переменных и отключает задержку в раскрытии переменных внутри блока кода. Это позволяет предотвратить проблемы с раскрытием переменных, когда переменные изменяются внутри цикла.
  3. SET BIN_TARGET=%~dp0/../nesbot/carbon/bin/carbon: Эта команда устанавливает переменную среды BIN_TARGET для содержания пути к исполняемому файлу PHP. %~dp0 представляет путь к текущему бат-файлу, а /../nesbot/carbon/bin/carbon добавляется к нему для получения полного пути к целевому файлу.
  4. php "%BIN_TARGET%" %: Эта команда вызывает интерпретатор PHP и передает ему путь к целевому файлу и все аргументы командной строки (%). %BIN_TARGET% представляет значение переменной среды, содержащей полный путь к целевому файлу. Таким образом, PHP-скрипт, указанный в ../nesbot/carbon/bin/carbon, будет выполнен с переданными аргументами командной строки.
В целом, этот бат-файл предназначен для удобного запуска PHP-скрипта ../nesbot/carbon/bin/carbon с помощью командной строки.
 
Black Shadow
  • Black Shadow
  • Типо лакализатор🚭
  • 1 447
ВерхНиз