i07 / php-ref
PHP 5.3+ 的一个更友好的 print_r/var_dump 替代方案
该包的官方仓库似乎已不存在,因此该包已被冻结。
v1.2
2015-11-15 12:47 UTC
Requires
- php: >=5.3.0
This package is not auto-updated.
Last update: 2022-01-20 04:12:26 UTC
README
REF,或 r()
是 PHP 的 print_r
/ var_dump
函数的一个更友好的替代方案。
演示
需求
- (服务器) PHP 5.3+ (5.4+ 显示更多信息)
- (客户端) 任何浏览器,当然不包括 IE 8 及以下版本
使用 Composer 安装
将 REF 添加到您的 composer.json
{ "require": { "digitalnature/php-ref": "dev-master" } }
现在运行以下命令告诉 composer 下载包:
$ php composer.phar update digitalnature/php-ref
Composer 会将包安装到 vendor/digitalnature
目录。
使用方法
基本示例
// include the class (not needed if project runs with Composer because it's auto-loaded)
require '/full/path/to/ref.php';
// display info about defined classes
r(get_declared_classes());
// display info about global variables
r($GLOBALS);
要使用文本模式打印,您可以使用 rt()
函数
rt($var);
要打印信息后终止脚本,请使用按位非运算符作为前缀
~r($var); // html
~rt($var); // text
在前面加上错误控制运算符 (@) 将返回信息
$output = @r($var); // html
$output = @rt($var); // text
键盘快捷键(必须启用 JavaScript)
X
- 收起/展开所有级别Ctrl
+X
- 切换显示状态
要修改全局配置,请调用 ref::config()
// example: initially expand first 3 levels
ref::config('expLvl', 3);
您也可以在 php.ini
文件中添加配置选项,如下所示
[ref]
ref.expLvl = 3
ref.maxDepth = 4
目前可用的选项及其默认值
选项 | 默认值 | 描述 |
---|---|---|
'expLvl' |
1 |
初始展开级别(仅针对 HTML 模式)。负值将展开所有级别 |
'maxDepth' |
6 |
最大深度(0 禁用);注意,禁用它或设置高值可能在大数据输入时产生超过 100+ MB 的页面 |
'showIteratorContents' |
FALSE |
显示迭代器数据(键和值) |
'showResourceInfo' |
TRUE |
显示关于资源的信息 |
'showMethods' |
TRUE |
显示对象上的方法和参数信息 |
'showPrivateMembers' |
FALSE |
包含私有属性和方法 |
'showStringMatches' |
TRUE |
对日期、文件、JSON 字符串、序列化数据、正则表达式模式等进行字符串匹配并显示(慢) |
'formatters' |
array() |
自定义/外部格式化程序(作为关联数组:format => className) |
'shortcutFunc' |
array('r', 'rt') |
用于检测输入表达式的快捷函数。如果它们是命名空间的,则必须存在命名空间(不支持方法) |
'stylePath' |
'{:dir}/ref.css' |
自定义样式的本地路径(仅 HTML);FALSE 表示不包含 CSS。 |
'scriptPath' |
'{:dir}/ref.js' |
自定义 JavaScript 的本地路径(仅 HTML);FALSE 表示不包含 JavaScript(工具提示/切换/键盘快捷键需要 JS) |
'showUrls' |
FALSE |
获取有关 URL 的信息。设置为 false 可以提高性能(需要 showStringMatches 为 TRUE) |
'timeout' |
10 |
在指定秒数后停止执行,强制生成不完整的列表。适用于所有调用 |
'validHtml' |
FALSE |
仅适用于HTML模式。是否生成W3C有效的HTML(代码输出更大)或难以理解的、可能不兼容浏览器的、但更小的代码输出 |
类似项目
待办事项
- 如果缺失,从父或原型继承DocBlock注释
- 重构“气泡”(文本模式)
- 正确缩进多行字符串(文本模式)
- 将分隔符标记移动到 ::before 和 ::after 伪元素(HTML模式)