Files
biblio/src/Twig/AppExtension.php

37 lines
802 B
PHP

<?php
namespace App\Twig;
use Twig\Extension\AbstractExtension;
use Twig\TwigFilter;
use Twig\TwigFunction;
class AppExtension extends AbstractExtension
{
public function getFunctions()
{
return [
new TwigFunction('file_exists', [$this, 'file_exists']),
];
}
public function getFilters()
{
return [
new TwigFilter('bytes_format', [$this, 'bytes_format']),
];
}
public function file_exists(string $file): bool
{
return file_exists(ltrim($file, '/'));
}
public function bytes_format(int $bytes): string
{
$base = log($bytes) / log(1024);
$suffix = array("B", "KB", "MB", "GB", "TB")[floor($base)];
return round(pow(1024, $base - floor($base)), 2) . $suffix;
}
}