PIPELINE
Как работает компиляция
Сборка идёт по понятной цепочке. Если что-то ломается, лог показывает stage, файл, строку и причину, чтобы проблему можно было исправить без гадания.
Parse
Компилятор читает entrypoint и PHP-файлы, проверяет синтаксис и строит дерево программы.
Autoload
Поднимаются Composer-карты и проектные классы; лишние файлы стараются не попадать в сборку.
Analyze
Анализируются типы, reachable-код, вызовы, свойства, массивы, superglobals и потенциальные runtime-fallback-и.
Generate Go
PHP-конструкции превращаются в Go: прямые вызовы, typed locals, быстрые array/string helpers и runtime только там, где нужен PHP-семантический слой.
Go build
Сгенерированный проект собирается стандартным go build в бинарник.
Artifact
Результат упаковывается с manifest, checksum, логами и README_RUN.
Как читать stage в логе
Parse означает синтаксис или require, FinalCheck — неизвестные классы/функции, Codegen — генерацию Go, GoBuild — ошибку уже в сгенерированном Go-проекте.
php2go: stage=Analyze static analysis
php2go: stage=Codegen generate Go
php2go: stage=GoBuild command=go build -mod=mod
compile_report: ok