piotrpress/accessor

此库提供对对象/类的受保护/私有,也包括静态,方法/属性的访问。

v1.0.0 2021-01-24 15:47 UTC

This package is auto-updated.

Last update: 2024-09-25 00:31:35 UTC


README

此库提供对对象/类的受保护/私有,也包括静态,方法/属性的访问。

安装

composer require piotrpress/accessor

用法

示例类

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

包含库

require __DIR__ . '/vendor/autoload.php';

use PiotrPress\Accessor;

调用方法

$accessor = new Accessor( new Example() );

$accessor->privateMethod( 'arg1', 'arg2' );
$accessor->protectedMethod( 'arg1', 'arg2' );

调用静态方法

$accessor = new Accessor( 'Example' );

$accessor->staticPrivateMethod( 'arg1', 'arg2' );
$accessor->staticProtectedMethod( 'arg1', 'arg2' );

获取属性

$accessor = new Accessor( new Example() );

echo $accessor->privateProperty;
echo $accessor->protectedProperty;

获取静态属性

$accessor = new Accessor( 'Example' );

echo $accessor->staticPrivateProperty;
echo $accessor->staticProtectedProperty;

设置属性

$accessor = new Accessor( new Example() );

$accessor->privateProperty = 'newPrivateProperty';
$accessor->protectedProperty = 'newProtectedProperty';

设置静态属性

$accessor = new Accessor( 'Example' );

$accessor->staticPrivateProperty = 'newStaticPrivateProperty';
$accessor->staticProtectedProperty = 'newStaticProtectedProperty';

许可证

GPL3.0