alexeyshockov / colada-x
该软件包已被放弃,不再维护。未建议替代软件包。
简化回调的辅助函数
v0.3.0
2019-02-15 11:36 UTC
Requires
- php: ~5.6 || ~7.0
Requires (Dev)
- phpspec/phpspec: ~2.5
Suggests
- lstrojny/functional-php: Some functional primitives for PHP
This package is auto-updated.
Last update: 2022-04-15 18:44:17 UTC
README
简化回调的辅助函数。
安装
$ 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()
。