camspiers / closureaccess
该软件包最新版本(0.3.1)没有可用的许可证信息。
为您的对象提供类似JavaScript的功能
0.3.1
2014-06-03 02:11 UTC
Requires (Dev)
- camspiers/bench: 0.1.*
- phpunit/phpunit: ~4.1
README
闭包访问特性以以下方式将类似JavaScript的功能引入您的对象
- 对象上的公共方法可以像属性一样访问,例如 $obj->methodName
- 添加到对象中的闭包可以像公共方法一样执行,例如 $obj->closureProp()
不保证您应该使用此库,它更多的是作为一个概念验证。
安装(使用composer)
composer require camspiers/closureaccess:dev-master
性能
- 将公共方法作为属性访问,例如 $obj->methodName(返回闭包)
- 慢约2.1倍
- 添加到对象中的闭包可以像公共方法一样执行,例如 $obj->closureProp()
- 慢约3.1倍
用法
class A { use Camspiers\ClosureAccess; public function hello() { return "Hello"; } } function run($fn) { return $fn(); } $a = new A; // an example of accessing a public method via properties and passing it around echo run($a->hello), ', World'; // an example of executing a closure property as a method $a->world = function () { return "World"; }; echo 'Hello, ', $a->world();