simplecomplex / inspect
用于检查变量和堆栈跟踪的PHP和JavaScript库。
Requires
- php: >=8.1
- ext-ctype: *
This package is auto-updated.
Last update: 2024-09-04 12:04:24 UTC
README
获取Inspect
// If dependency injection container exists. $inspect = $container->get('inspect'); // Otherwise use maker. $inspect = \SimpleComplex\Inspect\Inspect::getInstance();
主要方法和选项
(int) $options
depth: 最大对象/数组递归深度;DEPTH_DEFAULT/TRACE_DEPTH_DEFAULT
(array) $options
- (int)
depth: 最大对象/数组递归深度;DEPTH_DEFAULT/TRACE_DEPTH_DEFAULT - (int)
limit: 最大跟踪帧;TRACE_LIMIT_DEFAULT - (int)
code: 错误代码,覆盖异常代码;无 - (int)
truncate: 字符串截断;TRUNCATE_DEFAULT - (arr)
skip_keys: 跳过那些对象/数组键;无 - (arr)
needles: 在字符串中替换;NEEDLES/NEEDLES_ESCAPE_HTML - (arr)
replacers: 在字符串中替换;REPLACERS/REPLACERS_ESCAPE_HTML - (bool)
escape_html: 在字符串中替换;ESCAPE_HTML - (int)
output_max: 在字符串中替换;OUTPUT_DEFAULT - (int)
exectime_percent: 在字符串中替换;EXEC_TIMEOUT_DEFAULT - (bool)
rootdir_replace: 在字符串中替换根目录;ROOT_DIR_REPLACE - (int)
wrappers: 要隐藏的包装函数/方法数;零
inspect($subject, $options = []): Inspector
执行变量检查,除非 arg $subject 是可抛出的;然后跟踪。
$var = 'what is this?'; $xcptn = new \Exception('Doh'); // Inspect: $inspect->inspect($var); // Trace: $inspect->inspect($xcptn);
variable($subject, $options = []): Inspector
强制变量检查,即使主题是可抛出的。
$inspect->variable($var);
trace($throwableOrNull, $options = []): Inspector
跟踪异常或执行回溯。
// Trace exception: $inspect->trace($xcptn); // Do back-trace: $inspect->trace(null);
日志记录
inspect|variable|trace() 返回的 Inspector 可转换为字符串。直接传递给 PSR 日志记录器
$logger->debug('Darned ding' . "\n" . $inspect->variable($var));
或者使用 Inspector 的链式 PSR 日志记录器方法
log($level = 'debug', $message = '', array $context = []): void
$inspect->variable($var)->log('debug', 'darned ding');
JavaScript
(object) options
- (string)
message: 内容标题和选项作为字符串,也解释为消息(除'protos'/'func_body'外) - (integer)
depth: 数组|对象递归最大深度(默认10,最大10) - (boolean)
protos: 分析原型属性 - (boolean)
func_body: 打印函数体 - (string)
type: 默认 'inspect'/'inspect trace' - (string)
severity: 默认 'debug'/'error'
输出到控制台
window.inspect(u, options); window.inspect.trace(er, options);
描述
生成整洁且信息丰富的变量转储和异常/回溯。
量身定制并准备就绪进行日志记录 - inspect/variable/trace() 方法返回一个可转换为字符串的对象。
安全
检查器和跟踪器保证不会失败。简单的PHP:var_dump()易于在递归(如$ GLOBALS)时引发PHP错误,因为存在引用。
检查将其递归限制在子数组/对象中。它还跟踪其生成的输出大小。最后,它确保最大执行时间不会超过。
安全
检查隐藏名为'pw'、'pass'和'password'的数组/对象桶的值。
并可以使用'skip_keys'选项隐藏其他敏感值。
PHP和JavaScript
检查器由用于服务器端检查和跟踪的PHP库以及用于客户端相同功能的JavaScript库组成。
注意:JavaScript库自2015年以来未进行维护。
成熟度
自2010年以来,该库以各种形式存在。核心已不断改进,而包装已从相当老式的OOP模式演变到稳健但非正交的Drupal风格,最终演变成良好的PSR/Composer模式。
在以下内容中使用 - 扩展 - Drupal
Drupal Inspect 模块的核心是 SimpleComplex Inspect。该 Drupal 模块(包括 D7 和 D8 版本)扩展了 Inspect,以适应上下文环境——也就是说,在合理的情况下使用 Drupal 的 API 和功能。
MIT 许可
要求
- PHP >=8.1