https://github.com/piotrpress/accessor
This library provides an access to protected/private, also static, methods/properties of an object/class.
https://github.com/piotrpress/accessor
access accessor call caller invoke invoker non-public-method non-public-property private private-method private-property protected protected-method protected-property static-private-method static-private-property static-protected-method static-protected-property
Last synced: 12 months ago
JSON representation
This library provides an access to protected/private, also static, methods/properties of an object/class.
- Host: GitHub
- URL: https://github.com/piotrpress/accessor
- Owner: PiotrPress
- License: gpl-3.0
- Created: 2021-01-24T15:09:28.000Z (about 5 years ago)
- Default Branch: master
- Last Pushed: 2021-01-24T16:00:25.000Z (about 5 years ago)
- Last Synced: 2025-01-03T15:49:17.997Z (about 1 year ago)
- Topics: access, accessor, call, caller, invoke, invoker, non-public-method, non-public-property, private, private-method, private-property, protected, protected-method, protected-property, static-private-method, static-private-property, static-protected-method, static-protected-property
- Language: PHP
- Homepage:
- Size: 12.7 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: readme.md
- License: license.txt
Awesome Lists containing this project
README
# Accessor
This library provides an access to protected/private, also static, methods/properties of an object/class.
## Installation
```console
composer require piotrpress/accessor
```
## Usage
### Example class
```php
class Example {
private $privateProperty = 'privateProperty';
protected $protectedProperty = 'protectedProperty';
static private $staticPrivateProperty = 'staticPrivateProperty';
static protected $staticProtectedProperty = 'staticProtectedProperty';
private function privateMethod( $arg1, $arg2 ) { echo $arg1 . $arg2; }
protected function protectedMethod( $arg1, $arg2 ) { echo $arg1 . $arg2; }
static private function staticPrivateMethod( $arg1, $arg2 ) { echo $arg1 . $arg2; }
static protected function staticProtectedMethod( $arg1, $arg2 ) { echo $arg1 . $arg2; }
}
```
### Including library
```php
require __DIR__ . '/vendor/autoload.php';
use PiotrPress\Accessor;
```
### Calling methods
```php
$accessor = new Accessor( new Example() );
$accessor->privateMethod( 'arg1', 'arg2' );
$accessor->protectedMethod( 'arg1', 'arg2' );
```
### Calling static methods
```php
$accessor = new Accessor( 'Example' );
$accessor->staticPrivateMethod( 'arg1', 'arg2' );
$accessor->staticProtectedMethod( 'arg1', 'arg2' );
```
### Getting properties
```php
$accessor = new Accessor( new Example() );
echo $accessor->privateProperty;
echo $accessor->protectedProperty;
```
### Getting static properties
```php
$accessor = new Accessor( 'Example' );
echo $accessor->staticPrivateProperty;
echo $accessor->staticProtectedProperty;
```
### Setting properties
```php
$accessor = new Accessor( new Example() );
$accessor->privateProperty = 'newPrivateProperty';
$accessor->protectedProperty = 'newProtectedProperty';
```
### Setting static properties
```php
$accessor = new Accessor( 'Example' );
$accessor->staticPrivateProperty = 'newStaticPrivateProperty';
$accessor->staticProtectedProperty = 'newStaticProtectedProperty';
```
## License
GPL3.0