alexeyshockov/colada-x

该软件包已被放弃,不再维护。未建议替代软件包。

简化回调的辅助函数

v0.3.0 2019-02-15 11:36 UTC

This package is auto-updated.

Last update: 2022-04-15 18:44:17 UTC


README

简化回调的辅助函数。

Latest Stable Version Scrutinizer Code Quality Build Status

安装

$ composer require alexeyshockov/colada-x

使用方法

使用 ColadaX

$activeUsers = array_filter($users, \Colada\x()->isActive());
$role = 'ADMIN';
$administrators = array_filter($users, \Colada\x()->hasRole($role));

代替纯 PHP

$activeUsers = array_filter($users, function ($user) {
    return $user->isActive();
});
$role = 'ADMIN';
$activeUsers = array_filter($users, function ($user) use ($role) {
    return $user->hasRole($role);
});

可一起使用

一些代码示例供您参考。

Laravel 5 集合

$activeUsers = $users->filter(\Colada\x()->isActive());

PHP 集合 (schmittjoh/php-collection)

$activeUsers = $users->filter(\Colada\x()->isActive());

functional-php (lstrojny/functional-php)

该库已经拥有 partial_method 函数,但功能较弱。

use Functional as F;

$activeUsers = F\select($users, \Colada\x()->isActive());

不那么有用,但仍然有用

Doctrine 2 集合 (Symfony 2, Doctine 2 ORM 等)

// __asClosure() is needed because all Doctrine's methods accept only \Closure instances :(
$hasActiveUsers = $users->exists(\Colada\x()->isActive()->__asClosure());

Laravel 4 集合

与 Doctrine 描述的相同问题。

替代方案

如果您只需要基本功能,请查看来自出色的 functional-php 库invoke()invoke_first()invoke_if()invoke_last()invoker()