marcin-orlowski / lockpick
帮助访问外部对象受保护/私有成员/常量。
1.4.0
2024-02-07 13:53 UTC
Requires
- php: ^8.1
- marcin-orlowski/type-asserts: ^2.0.0
Requires (Dev)
- phpstan/phpstan: ^1.8
- phpunit/php-code-coverage: ^9.0
- phpunit/phpunit: ^9.0
Replaces
README
▄█ ▄██████▄ ▄████████ ▄█ ▄█▄ ▄███████▄ ▄█ ▄████████ ▄█ ▄█▄
███ ███ ███ ███ ███ ███ ▄███▀ ███ ███ ███ ███ ███ ███ ▄███▀
███ ███ ███ ███ █▀ ███▐██▀ ███ ███ ███▌ ███ █▀ ███▐██▀
███ ███ ███ ███ ▄█████▀ ███ ███ ███▌ ███ ▄█████▀
███ ███ ███ ███ ▀▀█████▄ ▀█████████▀ ███▌ ███ ▀▀█████▄
███ ███ ███ ███ █▄ ███▐██▄ ███ ███ ███ █▄ ███▐██▄
███▌ ▄ ███ ███ ███ ███ ███ ▀███▄ ███ ███ ███ ███ ███ ▀███▄
█████▄▄██ ▀██████▀ ████████▀ ███ ▀█▀ ▄████▀ █▀ ████████▀ ███ ▀█▀
▀ ▀ ▀
Lockpick
PHP辅助方法集合,允许轻松访问对象或类的受保护或私有属性和常量,并允许调用此类非公共方法。此库在创建代码单元测试时非常有用。
安装
composer require marcin-orlowski/lockpick
用法
由于所有方法都是作为一组 静态 方法提供的,因此您只需将相关的 use
添加到代码类中,所有方法都应该通过静态引用 Lockpick::...
简单可用。
use Lockpick\Lockpick; use PHPUnit\Framework\Assert; $obj = new Stronghold(); $actual = Lockpick::call($obj, 'openSessame', [ 'abracadabra' ]); Assert::assertEquals($expected, $actual); ...
可用方法
注意
$clsOrObj
参数可以是object
或类名(string
)。Lockpick::call()
参数$args
现在接受单个参数,无需array
包装(因此现在call(..., $arg1)
是有效的,等效于call(..., [ $arg1 ])
),因为它将在幕后自动包装。- 如果您想将
array
作为单个参数传递给调用函数,必须将其包装在另一个数组中,例如:call(..., [[ $arg1, $arg2 ]])
。默认为空数组,这意味着不会将任何参数传递给调用方法。
许可证
- 由 Marcin Orlowski 编写并拥有版权 ©2014-2024
- 开源软件,根据 MIT 许可证 许可
- 使用 https://textkool.com 创建的 ASCII 艺术作品