petrp/access
Composer 安装命令:
composer require --dev petrp/access
包简介
Access - Tool for access to private and protected members of object. It's handy for unit tests.
README 文档
README
Tool for access to private and protected members of object. It's handy for unit tests.
Property
class Foo { private $foo; } $a = Access(new Foo, '$foo'); $a->set(3); assert($a->get() === 3);
Method
class Foo { private function bar() { return 4; } } $a = Access(new Foo, 'bar'); assert($a->call() === 4);
Whole class
class Foo { private $foo; private function bar($plus) { return $this->foo + $plus; } } $a = Access(new Foo); $a->foo = 10; assert($a->foo === 10); assert($a->bar(1) === 11);
Chaining objects and arrays
class Foo { private $foo; public function __construct() { $this->foo = ['arrayKey' => new Bar]; } } class Bar { private $bar; } $a = AccessProxy(new Foo); $a->foo['arrayKey']->bar = 100; assert($a->foo['arrayKey']->bar === 100); assert($a->foo instanceof AccessProxy); assert(is_array($a->foo->getInstance())); assert($a->foo['arrayKey'] instanceof AccessProxy); assert($a->foo['arrayKey']->getInstance() instanceof Bar);
Requirements
Library has no external dependencies.
Up to PHP <= 8.2 tested. Fully works with PHP >= 5.3.2. PHP >= 5.2.0 is supported partially (see below).
AccessMethod require PHP 5.3.2 or later. AccessProperty require PHP 5.3.0 or later.
PHP >= 5.2.0 AND < 5.3.2 not supported:
- Final classes.
- Private methods.
- Read private static property.
- Write private property.
- No limitation when extension runkit or classkit is provided.
Instalations
GitHub
Each version is tagged and available on download page.
require_once __DIR__ . '/.../Access/src/Init.php';
Composer & Packagist
Access is available on Packagist, where you can get it via Composer.
composer require petrp/access
require_once __DIR__ . '/vendor/autoload.php';
统计信息
- 总下载量: 3.9k
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 7
- 点击次数: 1
- 依赖项目数: 4
- 推荐数: 0
其他信息
- 授权协议: BSD-3-Clause
- 更新时间: 2012-08-19