mefworks/stringifier

将任何变量转换为字符串。

v1.1.0 2014-10-17 23:24 UTC

This package is auto-updated.

Last update: 2024-09-09 13:44:49 UTC


README

Total Downloads Latest Stable Version

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

在此特此授予任何获得此软件及其相关文档文件(以下简称“软件”)副本的任何人,免费使用该软件的权利,包括但不限于使用、复制、修改、合并、发布、分发、再许可和/或销售软件副本,并允许获得软件的人进行此类操作,但须遵守以下条件

上述版权声明和本许可声明应包含在软件的所有副本或主要部分中。

本软件按“原样”提供,不提供任何明示或暗示的保证,包括但不限于适销性、适用于特定目的和无侵权性的保证。在任何情况下,作者或版权所有者均不对任何索赔、损害或其他责任负责,无论该索赔、损害或其他责任是基于合同、侵权或其他原因,无论是否与软件或其使用或其他方式有关。