PHP-Console-Highlighter已废弃,官方推荐迁移到php-parallel-lint/PHP-Console-Highlighter或更活跃的替代方案如clue/rainbow;原库未发布至Packagist,直接composer require会失败,需手动下载或改用现代轻量库。
php-console-highlighter 包因为这个库在 Packagist 上已废弃,官方推荐迁移到 php-console-highlighter 的继任者 —— nikic/php-parser 配合 symfony/console 自行渲染,或改用更活跃的替代方案 graham-campbell/exceptions(含终端高亮)或 spiral/console。但如果你明确需要原 php-console-highlighter 的行为(比如旧项目兼容),它实际托管在 GitHub,未发布到 Packagist,所以 composer require php-console-highlighter 必然失败。
composer require php-console-highlighter 会提示 Could not find package php-console-highlighter
https://github.com/barbushin/php-console-highlighter,无 composer.json 元数据,也不支持 PSR-4 自动加载"repositories" 指向 GitHub 并 "minimum-stability": "dev" 可能拉下代码,但类不会自动注册 autoload —— 后续 new ConsoleHighlighter() 仍会 Class not found
phpstan/phpstan 内置的高亮器或手动集成 rainbow
真正稳定、轻量、专为终端设计的 PHP 代码高亮库是 rainbow(clue/rainbow),它不依赖任何框架,纯函数式,输出 ANSI 转义序列,且维护活跃。它比原 php-console-highlighter 更可靠,也更易集成。
composer require clue/rainbow 即可安装Rainbow::highlight($code, 'php')
php、json、html 等常见语言,但不解析语法树,而是基于正则粗略着色 —— 对 CLI 场景足够,且性能开销极低ANSICON)仅限调试或临时脚本,不建议进生产。原库只有一个 ConsoleHighlighter.php 文件,无命名空间,全靠 require_once。
https://raw.githubusercontent.com/barbushin/php-console-highlighter/master/ConsoleHighlighter.php 下载该文件vendor/barbushin/console-highlighter/ConsoleHighlighter.php(路径随意,但需一致)require_once __DIR__ . '/vendor/barbushin/console-highlighter/ConsoleHighlighter.php';
$highlighter = new ConsoleHighlighter(); echo $highlighter->highlight('<?php echo 1; ?>', 'php');
Deprecated: Methods with the same name as their class will not be constructors(因类名与构造方法同名)rainbow 或任何 ANSI 高亮库,若终端不支持颜色,会输出一堆乱码(如