xethron / l4-to-string
xethron/to-string 的 Laravel 4 版本,增加了字符串函数的查询和查询日志功能。
Requires
- php: >=5.3.0
- xethron/to-string: 1.*
This package is auto-updated.
Last update: 2024-09-14 06:24:32 UTC
README
日志变量有时会导致巨大的日志文件,尤其是当你想将日志通过电子邮件发送给自己时。
另一方面,使用默认的 __toString 记录异常可能只会给你提供足够的信息,让你困惑不已!
此类扩展了 Xethron\ToString,并增加了将查询日志转换为字符串的几个 Laravel 4 特定函数。
变量到字符串
这是一个类似 print_r 的函数,可以显示变量,并允许指定最大行数、最大深度(数组)和最小深度(数组)。
这意味着你永远不会收到像 print_r 那样的 3000 行长数组邮件。
Xethron\L4ToString::variable( $var, $max_lines, $max_depth, $min_depth )
建议你在启动文件中添加一个全局函数,以便更容易访问
function varToStr( $var, $max_lines = 10, $max_depth = 4, $min_depth = 2 ) { return Xethron\L4ToString::variable( $var, $max_lines, $max_depth, $min_depth ); }
异常到字符串
此功能将异常转换为字符串,类似于 PHP 的 __toString,然而,它不会截断调试时所需的重要信息。
除此之外,它还使用变量到字符串将堆栈跟踪中传递的所有变量包含在内。
提供了两个函数
Xethron\L4ToString::exception( $e ); // 这将打印整个异常
Xethron\L4ToString::trace( $e->getTrace() ); // 这将只打印堆栈跟踪
查询日志到字符串
此功能将 Laravel 4 查询日志转换为整洁的查询字符串,如下所示
#0 select * from `table` where `table`.`id` = 113 and `deleted` = 0 limit 1; {"bindings":[113,0],"time":1.08} #1 select * from `another_table` where `another_table`.`deleted_at` is null and `id` = '66' limit 1; {"bindings":["66"],"time":0.49} #2 select * from `country` where `country`.`deleted` = 0 and `country`.`name` in ('South Africa'); {"bindings":[0,"South Africa"],"time":0.51}
提供了两个函数
Xethron\L4ToString::queryLog(); // 获取最新的查询日志并打印
Xethron\L4ToString::queryLog( \DB::getQueryLog() ); // 指定自己的查询日志
Xethron\L4ToString::query( $query ); // 从查询日志中传递一个单独的查询进行字符串转换
许可协议
L4ToString 在 GNU 通用公共许可证的条款下分发,版本 3 或更高版本。