PHP

Il linguaggio principe del web

Mattepuffo's logo
PHP empty

PHP empty

Dopo anni ancora ci casco e mi dimentico di preciso cosa controlla la funzione empty() di PHP.

Questo perchè per dovrebbe controllare se una variabile è vuota.

Ma per PHP, vuoto vuole dire diverse cose.

Quindi ho deciso di scrivere due righe per memorizzare un pò di aspetti.

Mattepuffo's logo
Implementare la concorrenza in PHP con Fiber

Implementare la concorrenza in PHP con Fiber

La classe Fiber di PHP è una funzionalità introdotta in PHP 8.1 che permette di implementare la concorrenza cooperativa (cooperative multitasking) nel linguaggio.

Una Fiber è essenzialmente un blocco di codice che può essere sospeso e ripreso in modo esplicito, permettendo di interrompere l'esecuzione di una funzione, eseguire altro codice, e poi riprendere da dove ci si era fermati.

A differenza delle funzioni normali che devono completarsi prima di restituire il controllo, le Fiber possono "cedere" il controllo volontariamente.

Le Fiber sono particolarmente utili per implementare operazioni asincrone, gestire I/O non bloccante, creare scheduler personalizzati o framework che necessitano di controllo granulare sul flusso di esecuzione.

Mattepuffo's logo
Connessione a KeyDB in PHP con Predis

Connessione a KeyDB in PHP con Predis

KeyDB è un fork diretto di Redis, ed è compatibile al 100%.

Inoltre, dicono, sia anche più performante.

Comunque ho deciso di testarlo, e me lo sono installato con Docker.

In questo articolo vediamo come connetterci in PHP.

Mattepuffo's logo
Creare unit test in PHP senza librerie

Creare unit test in PHP senza librerie

PHP ha delle ottime librerie per creare unit test.

Ma su un progetto molto piccolo potrebbero non essere necessarie.

In questo articolo vediamo un paio di esempi di unit test senza usare librerie.

Mattepuffo's logo
Disabilitare WP Cron in WordPress

Disabilitare WP Cron in WordPress

WordPress, di default, usa un sistema chiamato WP-Cron (wp-cron.php) per eseguire attività pianificate (backup, pubblicazione post programmati, aggiornamenti, ecc.), ma questo sistema si attiva solo quando qualcuno visita il sito.

Quindi se il sito ha poco traffico, i cron job potrebbero non girare puntualmente; se ha troppo traffico, wp-cron.php viene chiamato troppo spesso, con impatto sulle prestazioni.

Quello che possiamo fare è sostituirlo con un cron job.

Mattepuffo's logo
Versioning Javascript dinamico con PHP e Smarty

Versioning Javascript dinamico con PHP e Smarty

Uno dei problemi degli script Javascript è il versioning e la cache.

Generalmente si richiama lo script facendo una cosa del genere: script.js?v=20251610.

Se si hanno diversi file js, e se si lavori in tanti su un progetto, c'è il problema che tutti si devono ricordare di modificare la versione.

Mattepuffo's logo
Aggiungere coupon a Stripe con PHP

Aggiungere coupon a Stripe con PHP

In un precedente articolo abbiamo visto come creare e modificare prodotti su Stripe con PHP.

In questo vediamo come creare coupon.

In questo caso non mostrerò anche la modifica in quanto in verità su Stripe è possibile modificare solo due campi:

  • name -> una label che può essere come descrizione da visualizzare al cliente
  • metadata -> che io non ho neanche usato per la creazione