+39 3662317539/+34 620899163
info@simonecosci.com

Category: PHP

Sviluppo Siti Web a Tenerife

PHP 8.5: l’estensione Uri al posto di parse_url

Da PHP 8.5 c’è un parser di URL che segue uno standard: Uri\Rfc3986\Uri e Uri\WhatWg\Url. Cosa sbaglia parse_url, quale delle due classi scegliere e cosa evitare.

Laravel: rate limiting con RateLimiter::for e il middleware throttle

Limiter con un nome, chiavi per utente o per IP, la risposta sul 429 e i due errori che rendono un limite inutile: cosa dice la documentazione di Laravel 13 e come usarla.

enum in PHP: quando sostituiscono le costanti di classe

Un parametro string che accetta quattro valori è un bug che aspetta il suo momento. Con un enum (PHP 8.1) diventa un errore di tipo: pure e backed enum, from() e tryFrom(), metodi, interfacce, e cosa un enum non può avere.

PHP 8.4: gli oggetti lazy, e quando servono davvero

newLazyGhost e newLazyProxy costruiscono un oggetto solo quando qualcuno lo guarda. Come funzionano, cosa fa scattare l’inizializzazione e perché il più delle volte un oggetto normale resta la scelta giusta.

Laravel: `timeout`, `retry_after` e i job eseguiti due volte

Due valori diversi in due file diversi decidono se un job in coda viene eseguito una volta o due. Se il timeout supera il retry_after, la stessa email parte due volte e nei log non c’è nessun errore.

PHP 8.5: array_first, array_last e l’operatore pipe

PHP 8.5 aggiunge due funzioni banali che tolgono di mezzo un trucco vecchio di vent’anni, e un operatore che cambia il modo di scrivere le catene di trasformazioni. Cosa fanno davvero e dove ci si fa male.

Scheduler di Laravel: withoutOverlapping e onOneServer

Due modi diversi in cui un task pianificato va storto — si accavalla con se stesso, oppure parte su tre macchine invece che su una. Laravel ha un metodo per ciascuno, e non sono intercambiabili.

Laravel: quando serve un Job in coda e quando basta defer()

Da Laravel 11 c’è defer(): esegue codice dopo la risposta, senza worker né broker. Quando basta e quando invece serve ancora una coda vera.

Le funzioni PHP che sostituiscono un foreach

array_column, array_combine e array_is_list fanno in una riga quello per cui di solito si scrive un ciclo. Il guadagno non è la brevità: è che si legge cosa fa il codice, non come lo fa.

Eloquent e il problema N+1: accorgersene prima che se ne accorga il cliente

Una pagina che in sviluppo vola e in produzione si trascina, quasi sempre, fa una query per ogni riga. Come si manifesta, come farlo esplodere in sviluppo invece che davanti al cliente.