composer require --dev alecrabbit/php-sneaky-peek
This package is intended for DEVELOPMENT purposes only.
class Awesome
{
private $secret = '1234';
protected function protectedMethod() {
return 'protected';
}
protected static function protectedStaticMethod() {
return 'protected static';
}
}
// ...
peek(new Awesome())->secret; // '1234'
peek(new Awesome())->protectedMethod(); // 'protected'
In case you want to access static properties or methods you can pass FQCN as an argument instead of an object.
peek(Awesome::class)->protectedStaticMethod(); // 'protected static'
How it is different from spatie/invade?
The main difference is invade
can work with objects only, while peek
can work with both objects and FQCN(class-string).