jessegall/invader

A simple package to access private properties and methods without the use of reflection

v1.0.3 2022-10-19 18:14 UTC

This package is auto-updated.

Last update: 2024-10-19 22:27:35 UTC


README

A simple package to access private properties and methods without the use of reflection.

composer require jessegall/invader

Usage

class ExampleClass
{
    private string $property = 'value';

    private function method(): string
    {
        return 'value';
    }
    
    private function methodWithArgs($arg1, $arg2): string
    {
        return 'value';
    }
}

$example = new ExampleClass();

invade($example)->property; // Access private property
invade($example)->property = 'new value'; // Set private property
invade($example)->method(); // Call private method
invade($example)->methodWithArgs('arg1', 'arg2'); // Call private method with arguments

# -- Or --

(new Invader($example))->property; // Access private property
(new Invader($example))->property = 'new value'; // Set private property
(new Invader($example))->method(); // Call private method
(new Invader($example))->methodWithArgs('arg1', 'arg2'); // Call private method with arguments