php-extended/php-inspector-object

php-inspector-interface 库的实现

7.0.6 2024-07-31 13:44 UTC

README

php-inspector-interface 库的实现。

coverage build status

安装

本库通过 composer 安装,所有类的自动加载通过其自动加载器完成。

  • 官网下载 composer.phar
  • 然后运行以下命令将本库作为依赖项安装
  • php composer.phar require php-extended/php-inspector-object ^7

基本用法

在您的代码中(例如,在尝试在异常中使用变量时)


use PhpExtended\Inspect\Inspector;

if(!'<condition not satisfied with $myVar >')
{
	throw new Exception(strtr(
		'The given variable "myVar" is not an object, it\'s a {thing}.',
		['{thing}' => $inspector->inspect($myVar)]
	));
}

预期结果是以下内容


use PhpExtended\Inspect\Inspector;

$inspector = new Inspector();

echo $inspector->inspect(null);                 // echo 'null'
echo $inspector->inspect(false);                // echo 'boolean'
echo $inspector->inspect('myvar');              // echo 'string'
echo $inspector->inspect(1);                    // echo 'integer'
echo $inspector->inspect(1.5);                  // echo 'float'
echo $inspector->inspect(new stdClass());       // echo '\stdClass'
echo $inspector->inspect(fopen(__FILE__, 'r')); // echo 'resource(stream)'
echo $inspector->inspect([1]);                  // echo '[integer]'
echo $inspector->inspect([1.5]);                // echo '[float]'
echo $inspector->inspect([1, 1.5]);             // echo '[integer, float]'
echo $inspector->inspect([1, 2, 3]);            // echo '[integer]'
echo $inspector->inspect([new stdClass()]);     // echo '[\stdClass]'
echo $inspector->inspect([[1]]);                // echo '[[integer]]'

许可证

MIT(见许可证文件)。