Перейти к содержимому
docs.
WORKSPACE

Документации проектов

Открыть каталог проектов
Localzet ServerАсинхронный PHP-серверTriangleФреймворк и компонентыMIX IDИдентификация и интеграцииHack APIПубличные API хакатонаACNПроект и компонентыUserlay / UserNetПроект и компонентыAxiomПроект и компонентыМесседжинг через почтуПроект и компонентыLWT / JWT / JOSEПроект и компонентыФинансовая аналитика KimaiПроект и компонентыМультипарадигмальная БДПроект и компонентыZorin PlatformПроект и компонентыZorin TrustПроект и компонентыFloraScope / VegwatchПроект и компонентыaegis-qДокументация проектаaevumdbДокументация проектаauditДокументация проектаauto-invest-managerАвтотрейдерcaine-companionДокументация проектаcertbot-cloudflareДокументация проектаClusterLocalzet Server / ClustercmdveilДокументация проектаConsolePHP CLI✓CronБиблиотеки Localzet Serverdata-connectorДокументация проектаdevice-controlDevice Controlenn-projectДокументация проектаEventsБиблиотеки Localzet ServerflowsintДокументация проектаforgeДокументация проектаHttpClientБиблиотеки Localzet ServerinterpreterСобственный языкinvariaДокументация проектаkeynotesДокументация проектаknotrouteKnotroutelaravel-personal-analyticsДокументация проектаlocalzet-osДокументация проектаmeridianДокументация проектаMQTTБиблиотеки Localzet Servernano-kernelСобственная ОСNoterДокументация проектаpersonal-analyticsДокументация проектаProxyБиблиотеки Localzet ServerPSRБиблиотеки Localzet ServerPSR-7Библиотеки Localzet Serverrschs-monitorДокументация проектаsemsealДокументация проектаshardsealДокументация проектаSocketIOБиблиотеки Localzet ServerSOCKS5Библиотеки Localzet Serverstandalone-analyticsДокументация проектаstatic-php-cliДокументация проектаStorageБиблиотеки Localzet ServersutureДокументация проектаtempoweaveДокументация проектаttsСинтез речиTunnelБиблиотеки Localzet Serverui-kitUI KitvesperДокументация проектаWebAnalyzerWebAnalyzerzorin-access-brokerДокументация проектаzorin-authority-brokerДокументация проектаzorin-authority-sdk-phpДокументация проектаzorin-authority-sdk-pythonДокументация проектаzorin-authority-sdk-tsДокументация проектаzorin-client-intelДокументация проектаzorin-device-core-aospДокументация проектаzorin-host-agentДокументация проектаzorin-native-labДокументация проектаzorin-nodeДокументация проектаzorin-opsДокументация проектаdonstu-python-sdkДокументация проектаfloortraceFloortraceserver-rsLocalzet Server / Cluster
Каталог

Console — API

new Console(array $config = [], bool $installInternalCommands = true) создаёт Symfony Application с указанными name/version. Если включены internal commands, ищет их по пути пакета, полученному через Composer InstalledVersions.

installInternalCommands() повторяет установку штатного набора. installCommands(string $path, string $namespace = 'app\\command') регистрирует конкретные дочерние классы Localzet Command из каталога; класс должен быть доступен через autoload.

Методы add(), run(), setAutoExit() и работа с Input/Output наследуются от установленной версии Symfony Console. Встроенное input definition добавляет command и стандартные help/quiet/verbose/version/ansi/no-interaction options.

new Command(array $config = []) предназначен для наследования, сам класс абстрактный. Имя и описание дочерней команды задаются через protected static $defaultName/$defaultDescription. Можно переопределять Symfony configure() и execute().

МетодПоведение
getDefaultName(): ?stringНепустое static defaultName либо null.
getDefaultDescription(): ?stringНепустое static defaultDescription либо null.
config(null)Весь переданный массив.
config('a.b', $default)Вложенное значение; отсутствующее или null заменяется default.
КомандаОбъявленные параметры
start--daemon/-d
stop--graceful/-g
restart--daemon/-d, --graceful/-g
reload--graceful/-g
status--live/-d
connectionsБез специальных options

Эти команды скрываются, если не обнаружены support\App и localzet\Server. Их execute делегирует общий entry point: наличие option в Console не гарантирует, что независимый host-проект применяет его так же, как исходный Server.

КлючDefault / смысл
input_dirКаталог приложения из контекста PHAR/Composer root, если не задан явно.
output_dir<input_dir>/build
phar_aliaslocalzet
phar_filenamelocalzet.phar
phar_stubstub.php; должен существовать во входном каталоге, если непустой.
exclude_filesСписок точных исключений. Заданный список заменяет default.
exclude_patternRegex для включения файлов при buildFromDirectory, а не универсальный .gitignore.
signature_algorithmPhar::SHA256
private_key_fileПуть к private PEM для Phar::OPENSSL. Не включайте его в архив.
php_version8.3 для BIN; версия преобразуется в float.
php_inimemory_limit = 256M для BIN
bin_filenamelocalzet

BuildPharCommand::checkEnv() проверяет PHAR extension и отключённый readonly. getExcludeFiles() объединяет пользовательские исключения с рассчитанными путями файлов команд. Проверьте итоговый состав готового архива: одного regex недостаточно для обнаружения приватных материалов.

Checksum-подпись PHAR не равна подписи доверенного издателя. Для OPENSSL-подписи ключ и его распространение должны иметь отдельную политику.

get:php [version] [output] получает runtime с заданного в исходнике CDN и распаковывает zip при наличии ZipArchive. Это сетевая операция с записью файлов; TLS verification в загрузчике отключена.

fix-disable-functions читает php_ini_loaded_file(), удаляет перечисленные сетевые/process функции из disable_functions и записывает php.ini обратно. Команда меняет ограничения окружения; это не read-only диагностика.

МетодНазначение
nameToNamespace($name)Преобразовать slash/hyphen-имя в namespace-подобную строку.
classToName($class)Преобразовать верхний регистр в разделённое подчёркиваниями имя.
nameToClass($name)Преобразовать дефисы/подчёркивания частей имени в class-подобную форму.
guessPath($basePath, $name, $returnFullPath = false)Найти существующую цепочку каталогов без учёта регистра; при отсутствии вернуть false.

Эти строковые преобразования не валидируют PHP identifier или безопасный путь для создания файла. Не используйте их как защиту от path traversal и не принимайте имя команды из недоверенного ввода для произвольной загрузки класса.