Helpers
Leto include un set de clase utilitare sub namespace-ul Leto\Helpers. Fiecare acoperă o nevoie frecventă în aplicațiile web.
Strings
Manipulări de string-uri: slug-uri, generare aleatorie, eliminare diacritice, extragere subșiruri.
use Leto\Helpers\Strings;
Strings::slugify('Titlu articol'); // "titlu-articol"
Strings::generateRandom(32); // String aleatoriu de 32 caractere
Strings::remove_accents('Ștefănescu'); // "Stefanescu"
Strings::replace_once('abc', 'a', 'x'); // "xbc" — doar prima apariție
Strings::string_between('<p>Text</p>', '<p>', '</p>'); // "Text"
Strings::string_alphanum('Hello! 123'); // "Hello123" — doar caractere alfanumerice
Arrays
Acces și manipulare de array-uri cu dot notation — o sintaxă comodă pentru structuri imbricate.
use Leto\Helpers\Arrays;
$data = ['user' => ['name' => 'Ion', 'email' => 'ion@example.com']];
Arrays::get($data, 'user.email'); // "ion@example.com"
Arrays::set($data, 'user.role', 'admin'); // Adaugă în structura imbricată
Arrays::push($data, 'items', $newItem); // Push la un sub-array
Arrays::exists($data, 'config.debug'); // Verifică existența unei chei
Numbers
use Leto\Helpers\Numbers;
Numbers::formatPrice(1234.56); // "1.234,56 RON"
DateTimeFormatter
Formatare date cu suport pentru localizare. strftime() este un polyfill peste IntlDateFormatter pentru compatibilitate.
use Leto\Helpers\DateTimeFormatter;
$formatter = new DateTimeFormatter();
$formatter->get($dateTime); // Formatare implicită
$formatter->strftime($dateTime, '%d %B %Y'); // "05 iunie 2026"
Mime
Detectare tip MIME din extensia fișierului.
use Leto\Helpers\Mime;
Mime::getTypeFromFilename('document.pdf'); // "application/pdf"
Mime::getTypeFromFilename('foto.jpg'); // "image/jpeg"
Download
Servire fișiere pentru download forțat sau streaming.
use Leto\Helpers\Download;
// Forțează download-ul unui fișier de pe disk
Download::force('/path/document.pdf');
// Streaming — conținut generat dinamic
Download::output($csvContent, 'export.csv', 'text/csv');Is
Verificări rapide — returnează bool, utile pentru validări simple.
use Leto\Helpers\Is;
Is::email('test@example.com'); // true
Is::json('{"key":"val"}'); // true
Is::dateValid('2026-01-15'); // true
Is::bot(); // true dacă User-Agent-ul pare a fi bot
Is::audioFile('song.mp3'); // true
Is::imageFile('photo.jpg'); // true
Is::pdfFile('doc.pdf'); // true
Is::validIp('192.168.1.1'); // true
EventTracer
Utilitar de debugging pentru evenimente — înregistrează și afișează evenimentele care au loc în timpul unui request.
use Leto\Helpers\EventTracer;
EventTracer::trace('event-name', $data); // Înregistrează un eveniment
$events = EventTracer::getEvents(); // Lista completă de evenimente
EventTracer::printEvents(); // Afișează pentru debug
SocialMedia
use Leto\Helpers\SocialMedia;
SocialMedia::extractYouTubeId('https://youtube.com/watch?v=ABC123'); // "ABC123"
SocialMedia::embedYouTubeLink('ABC123'); // https://youtube.com/embed/ABC123