swow-cloud / xr
0.1.3
2022-02-08 17:49 UTC
Requires
- php: >=8.0
- chevere/chevere: ^0.3
- chevere/throwable-handler: ^0.1
- chevere/trace: ^0.1
- chevere/var-dump: ^0.1
- rodber/php-sse-react: ^0.1
- samejack/php-argv: ^1.0
Requires (Dev)
- phpunit/phpunit: ^9.5
- symplify/easy-coding-standard: ^9.4
README
🔔 订阅 通讯,不错过任何关于 Chevere 的更新。
Crocanty.mp4
🦄 查看演示
XR 是一个用于 PHP 的导出调试服务器工具。无需任何额外组件,随时随地调试您的 PHP 代码。
特性
- 💎 颜色丰富、类型明确的变量高亮显示,易于阅读
- ✨ 导出任意数量的参数
- 🐘 一键启动 PHP 服务器(无需额外组件)
- 👻 通过 主题 和 表情 过滤消息
- ✍️ 将 "XR 会话" 重命名为任何您想要的名称
- 🏁 播放、暂停、停止和清除调试窗口控件
- 🥷 为忍者提供键盘快捷键(播放 R,暂停 P,停止 S 和清除 C)
- 😊 将消息导出到剪贴板(纯文本)或作为内联下载的 PNG 图像
- 📟 生成导出 回溯
- ⏸ 暂停 和恢复代码执行 (*未实现*)
- 🌚 深色 / 🌝 亮色模式遵循您的系统首选项
- 👽 临时存储,不保留任何持久数据
- 🍒 基于 HTML(保存页面、搜索、快捷键等)
- 🔥 使用 FiraCode 字体显示 美观的导出 ™
- 😅 处理异常(钩子或替换您现有的处理程序)
贡献
入门
- 将
chevere/xr
添加到您的项目中作为开发依赖
composer require --dev chevere/xr
🚧 最小稳定性开发
您需要将以下内容添加到您的 composer.json
文件中。
"minimum-stability": "dev", "prefer-stable": true
启动服务器
php vendor/chevere/xr/server.php -p 27420
服务器将在 https://:27420 上可用
演示
打开调试器然后运行
php vendor/chevere/xr/demo.php
XR 辅助工具
导出变量
使用 xr($var1, $var2,...)
从您的代码中导出 任何变量。
xr($var, 'Hola, mundo!');
主题
通过传递 t:
添加主题。
xr( $var, 'Hola, mundo!', t: 'Epic win' );
表情
通过传递 e:
添加表情。
xr( $var, 'Hola, mundo!', t: 'Epic win', e: '😎' );
标志
传递位标志以触发特殊行为。
f: XR_BACKTRACE
以导出调试回溯。
xr( $var, 'Hola, mundo!', t: 'Epic win', e: '😎', f: XR_BACKTRACE );
f: XR_PAUSE
以暂停代码执行 (*未实现*)。
xr( $var, 'Hola, mundo!', t: 'Epic win', e: '😎', f: XR_PAUSE );
发送原始消息
使用 xrr
向服务器发送原始消息。
💡 xrr
还支持 主题 t
、表情 e
和 标志 f
参数。
xrr( '<h1>Hola, mundo!</h1>', t: 'Greet' );
异常处理
使用 registerThrowableHandler
启用 XR 处理 throwables。
use Chevere\Xr\registerThrowableHandler; // True append XR's to your existing handler // False use only XR's handler registerThrowableHandler(true);
或者,您可以在任何现有的异常处理逻辑中使用 throwableHandler
use Chevere\Xr\throwableHandler; set_exception_handler( function(Throwable $throwable) { // ... try { throwableHandler($throwable); } catch(Throwable) { // Don't panic } } );
错误处理
您需要将错误作为异常处理,然后使用 异常处理。
use use Chevere\ThrowableHandler\ThrowableHandler; set_error_handler( ThrowableHandler::ERRORS_AS_EXCEPTIONS ); register_shutdown_function( ThrowableHandler::FATAL_ERROR_HANDLER );
配置
可选地通过在项目目录中创建名为 xr.php
的文件来配置 XR,其中包含以下选项
启用
bool
控制向服务器发送消息。设置为 true 启用,false 禁用。
主机
string
XR 服务器运行的主机名/IP 地址。
端口
int
连接到host
的端口号。
以下示例是一个具有默认设置的 xr.php
文件。
<?php return [ 'enable' => true, 'host' => 'localhost', 'port' => 27420, ];
对于软件提供商
如果您想在现有应用程序逻辑中某处处理 XR 设置(不依赖于 xr.php
文件),您可以这样做
use Chevere\Xr\XrInstance; // (...) your logic sets $enable, $host and $port new XrInstance( new Xr(enable: $enable, host: $host: port: $port) );
Docker
请参阅 DOCKER。
消息参考
XR 堆栈服务器可以接收来自任何地方的消息
POST https://:27420/message
body=Hola, mundo
file_path=/var/www/file.php
file_line=123
...
body
- 消息原始体(HTML)。file_path
- 文件路径。file_line
- 文件行。emote
- 表情(表情符号/符号)topic
- 作为消息上下文的主题。
许可证
版权所有 2022 Rodolfo Berrios A.
XR 使用 Apache 许可证第 2.0 版进行许可。有关完整许可文本,请参阅 LICENSE。
除非适用法律要求或书面同意,否则在许可证下分发的软件按“原样”基础分发,不提供任何明示或暗示的保证或条件。有关许可证的特定语言和限制,请参阅许可证。