php-extended/php-inspector-object

An implementation of the php-inspector-interface library

4.0.0 2022-05-31 06:38 UTC

README

An implementation of the php-inspector-interface library.

coverage build status

Installation

The installation of this library is made via composer. Download composer.phar from their website. Then add to your composer.json :

	"require": {
		...
		"php-extended/php-inspector-object": "^3",
		...
	}

Then run php composer.phar update to install this library. The autoloading of all classes of this library is made through composer's autoloader.

Basic Usage

In your code (for example, when trying to use a variable in an exception):


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)]
	));
}

The expected results are the following :


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]]'

License

MIT (See license file).