alexeyshockov/colada-x
colada-x is a tiny Laravel/PHP helper package by alexeyshockov. Lightweight and experimental, it offers small utilities you can drop into a project quickly. Best for tinkerers who don’t mind minimal docs, few stars, and a still-maturing API.
Helper function for simplify callbacks.
$ composer require alexeyshockov/colada-x
With ColadaX:
$activeUsers = array_filter($users, \Colada\x()->isActive());
$role = 'ADMIN';
$administrators = array_filter($users, \Colada\x()->hasRole($role));
Instead of pure PHP:
$activeUsers = array_filter($users, function ($user) {
return $user->isActive();
});
$role = 'ADMIN';
$activeUsers = array_filter($users, function ($user) use ($role) {
return $user->hasRole($role);
});
Some code examples for your imagination.
$activeUsers = $users->filter(\Colada\x()->isActive());
$activeUsers = $users->filter(\Colada\x()->isActive());
The library already has partial_method function, but it's less powerful.
use Functional as F;
$activeUsers = F\select($users, \Colada\x()->isActive());
// __asClosure() is needed because all Doctrine's methods accept only \Closure instances :(
$hasActiveUsers = $users->exists(\Colada\x()->isActive()->__asClosure());
The same problem as described above with Doctrine.
If you need only the basic functionaly, take a look at invoke(), invoke_first(), invoke_if(), invoke_last(),
invoker() from a great functional-php library.
How can I help you explore Laravel packages today?