phpfluent / callback
允许您以更动态的方式执行回调
1.1.0
2015-06-03 19:24 UTC
Requires
- php: >=5.4.0
Requires (Dev)
- phpmd/phpmd: ~2.2
- phpunit/phpunit: ~4.6
- squizlabs/php_codesniffer: ~2.3
This package is auto-updated.
Last update: 2024-08-24 04:08:00 UTC
README
允许您以更动态的方式执行回调。
安装
此软件包可在 包管理器 上获取。您可以使用 Composer 安装它。
composer require phpfluent/callback
依赖项
- PHP 5.4+
使用方法
本文件中所有的示例都假设您在文件开头有以下声明
use PHPFluent\Callback\Callback;
定义您的可调用对象
闭包
$callback = new Callback( function () { // My callable content. } );
对象方法
$callback = new Callback(array($object, 'methodName'));
用户定义的函数
$callback = new Callback('my_function');
PHP 本地函数
$callback = new Callback('str_replace');
执行您的可调用对象
您有多种方式可以执行可调用对象。
invoke()
$callback->invoke($arg1, $arg2, $arg3);
invokeArguments()
$callback->invokeArguments($arrayArguments);
__invoke()
$callback($arg1, $arg2, $arg3); // call_user_func() and call_user_func_array() will work like a charm
参数
如果您正在阅读此文档,您可能想知道为什么编写了这个库,因为关于它的所有内容都可以仅使用原生 PHP 功能来实现。
此库在定义调用回调时要使用的参数方面提供了更多的灵活性。这在您需要与预定义结构中的回调一起工作,但不想使用所有参数时很有用。
命名
Callback
将根据其参数的名称执行您的回调。
$callable = new Callback( function ($foo, $bar = true) { // My callable body } ); $callable->invokeArguments( array( 'foo' => 'PHPFluent', ) );
类型
参数的顺序无关紧要,Callback
会在执行您的可调用对象之前将其放入正确的顺序。
$callable = new Callback( function (array $array, TypeTwo $typeTwo, $string, $int, TypeThree $typeThree, $optional = 42) { // My callable body } ); $callable(array(), new TypeTwo(), new TypeThree(), 'string', 123);