mefworks / stringifier
将任何变量转换为字符串。
v1.1.0
2014-10-17 23:24 UTC
Requires
- php: >=5.5
Requires (Dev)
- phpunit/phpunit: 3.7.*
README
mef\Stringifier 定义了一个接口 mef\StringifierInterface
,该接口描述了将任何 PHP 值(包括对象、资源、数组等)转换为字符串的方法。其主要目的是为了帮助进行日志记录和调试。
示例
标准字符串化器
<?php
$stringifier = new \mef\Stringifier\Stringifier;
echo $stringifier->stringify(new \DateTime), PHP_EOL;
echo $stringifier->stringify(['a', 'b', 'c']), PHP_EOL;
echo $stringifier->stringify(['foo' => 'bar']), PHP_EOL;
echo $stringifier->stringify(new \ArrayIterator(['foo' => 'bar'])), PHP_EOL;
示例输出
2014-09-17 15:58:26
[a, b, c]
{foo: bar}
ArrayIterator<foo: bar>
请注意,实际输出可能会有所不同,因为实现细节并不保证在各个版本之间相同。当然,它总是会返回一个忠实代表该值的字符串。
更完整的示例可以在 examples
目录中找到。
概述
mef\StringifierInterface
只描述了一个功能
<?php
namespace mef\Stringifier;
interface StringifierInterface
{
/**
* Returns a string representation of the value.
*
* @param mixed $value
*
* @return string
*/
public function stringify($value);
}
任何符合规范的字符串化器都将 始终 返回一个字符串,除非它抛出异常。在 mef\Stringifier
命名空间中没有预定义的异常。
字符串化器
Stringifier
- 对于大多数情况都很好。尝试返回任何值的合理字符串表示。JsonStringifier
- 是json_encode
的一个薄包装。返回值的 JSON 编码表示。VarDumpStringifier
- 返回var_dump
的结果。PrintRStringifier
- 返回print_r
的结果。
许可
版权所有 (C) 2014 Matthew Leverton
在此特此授予任何获得此软件及其相关文档文件(以下简称“软件”)副本的任何人,免费使用该软件的权利,包括但不限于使用、复制、修改、合并、发布、分发、再许可和/或销售软件副本,并允许获得软件的人进行此类操作,但须遵守以下条件
上述版权声明和本许可声明应包含在软件的所有副本或主要部分中。
本软件按“原样”提供,不提供任何明示或暗示的保证,包括但不限于适销性、适用于特定目的和无侵权性的保证。在任何情况下,作者或版权所有者均不对任何索赔、损害或其他责任负责,无论该索赔、损害或其他责任是基于合同、侵权或其他原因,无论是否与软件或其使用或其他方式有关。