xethron/l4-to-string

xethron/to-string 的 Laravel 4 版本,增加了字符串函数的查询和查询日志功能。

1.0.2 2014-02-02 15:46 UTC

This package is auto-updated.

Last update: 2024-09-14 06:24:32 UTC


README

Latest Stable Version Total Downloads Latest Unstable Version License

日志变量有时会导致巨大的日志文件,尤其是当你想将日志通过电子邮件发送给自己时。

另一方面,使用默认的 __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 或更高版本。