mirror of
https://github.com/slawkens/myaac.git
synced 2025-04-26 17:29:21 +02:00
Add Twig TypeCastingExtension
This commit is contained in:
parent
f837b3133d
commit
1186f94e21
36
system/src/Twig/Extension/TypeCastingExtension.php
Normal file
36
system/src/Twig/Extension/TypeCastingExtension.php
Normal file
@ -0,0 +1,36 @@
|
||||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace MyAAC\Twig\Extension;
|
||||
|
||||
use Twig\Extension\AbstractExtension;
|
||||
use Twig\TwigFilter;
|
||||
|
||||
final class TypeCastingExtension extends AbstractExtension
|
||||
{
|
||||
/** @return array<int, TwigFilter> */
|
||||
public function getFilters(): array
|
||||
{
|
||||
return [
|
||||
new TwigFilter('int', function ($value) {
|
||||
return (int)$value;
|
||||
}),
|
||||
new TwigFilter('float', function ($value) {
|
||||
return (float)$value;
|
||||
}),
|
||||
new TwigFilter('string', function ($value) {
|
||||
return (string)$value;
|
||||
}),
|
||||
new TwigFilter('bool', function ($value) {
|
||||
return (bool)$value;
|
||||
}),
|
||||
new TwigFilter('array', function (object $value) {
|
||||
return (array)$value;
|
||||
}),
|
||||
new TwigFilter('object', function (array $value) {
|
||||
return (object)$value;
|
||||
}),
|
||||
];
|
||||
}
|
||||
}
|
@ -31,6 +31,8 @@ if($dev_mode) {
|
||||
}
|
||||
unset($dev_mode);
|
||||
|
||||
$twig->addExtension(new MyAAC\Twig\Extension\TypeCastingExtension());
|
||||
|
||||
$filter = new TwigFilter('timeago', function ($datetime) {
|
||||
|
||||
$time = time() - strtotime($datetime);
|
||||
|
Loading…
x
Reference in New Issue
Block a user