functions.php
PHP
Path: src/Table/functions.php
<?php
namespace mini;
use Collator;
// Register Collator service - uses application locale by default
Mini::$mini->addService(Collator::class, Lifetime::Singleton, fn() => Mini::$mini->loadServiceConfig(
Collator::class,
new Collator(Mini::$mini->locale)
));
/**
* Get the application's Collator instance for locale-aware string comparison
*
* Used by table sorting and LIKE operations for consistent collation behavior.
* Configure via config/Collator.php or defaults to Mini::$mini->locale.
*
* @return Collator
*/
function collator(): Collator
{
return Mini::$mini->get(Collator::class);
}
/**
* Empty predicate constant for building filter conditions
*
* Since Predicate is immutable, a single shared instance is safe.
*
* ```php
* use const mini\p;
*
* $users->or(
* p->eq('status', 'active'),
* p->eq('status', 'pending')
* );
*
* // Chain multiple conditions (AND)
* p->eq('role', 'admin')->gte('level', 5)
* ```
*/
const p = new Table\Predicate();