帮助访问外部对象受保护/私有成员/常量。

1.4.0 2024-02-07 13:53 UTC

This package is auto-updated.

Last update: 2024-09-07 15:38:24 UTC


README

 ▄█        ▄██████▄   ▄████████    ▄█   ▄█▄    ▄███████▄  ▄█   ▄████████    ▄█   ▄█▄
███       ███    ███ ███    ███   ███ ▄███▀   ███    ███ ███  ███    ███   ███ ▄███▀
███       ███    ███ ███    █▀    ███▐██▀     ███    ███ ███▌ ███    █▀    ███▐██▀  
███       ███    ███ ███         ▄█████▀      ███    ███ ███▌ ███         ▄█████▀  
███       ███    ███ ███        ▀▀█████▄    ▀█████████▀  ███▌ ███        ▀▀█████▄  
███       ███    ███ ███    █▄    ███▐██▄     ███        ███  ███    █▄    ███▐██▄  
███▌    ▄ ███    ███ ███    ███   ███ ▀███▄   ███        ███  ███    ███   ███ ▀███▄
█████▄▄██  ▀██████▀  ████████▀    ███   ▀█▀  ▄████▀      █▀   ████████▀    ███   ▀█▀
▀                                 ▀                                        ▀  

Lockpick

Latest Stable Version License

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 ]])。默认为空数组,这意味着不会将任何参数传递给调用方法。

许可证