phpfluent/callback

允许您以更动态的方式执行回调

1.1.0 2015-06-03 19:24 UTC

This package is auto-updated.

Last update: 2024-08-24 04:08:00 UTC


README

Build Status Code Quality Code Coverage Latest Version Total Downloads License

允许您以更动态的方式执行回调。

安装

此软件包可在 包管理器 上获取。您可以使用 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);