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

Tag: php

Sviluppo Siti Web a Tenerife

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.

Docker multi-stage: immagini PHP senza compilatori dentro

Composer, git e i pacchetti di build finiscono nell’immagine che mandi in produzione anche quando li cancelli. Il multi-stage build li lascia fuori davvero.

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.

Container Docker che non girano da root: perché conta e come si fa

Un container Docker parte come root se nessuno gli dice il contrario. Ecco cosa comporta davvero e come mettere in sicurezza un’immagine PHP-FPM + nginx con utente non privilegiato, filesystem in sola lettura e capability azzerate.

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.