php-extended / php-inspector-object
An implementation of the php-inspector-interface library
5.0.0
2022-12-15 07:06 UTC
Requires
- php: >=7.3
- php-extended/php-inspector-interface: ^5
- php-extended/polyfill-php80-stringable: ^1.2
Requires (Dev)
This package is auto-updated.
Last update: 2023-05-15 07:59:41 UTC
README
An implementation of the php-inspector-interface library.
Installation
The installation of this library is made via composer and the autoloading of all classes of this library is made through their autoloader.
- Download
composer.phar
from their website. - Then run the following command to install this library as dependency :
php composer.phar php-extended/php-inspector-object": "^5"
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).