Categoria

Pagina 3 di 3

PHP: il linguaggio che regge una fetta enorme del web, usato come si deve

PHP non è legacy e non è "quello di WordPress". Con la 8.4 è un linguaggio tipizzato, veloce e con un ecosistema ingegneristicamente maturo, e la 8.5 continua a spingerlo in avanti. Lo uso da oltre vent'anni, ho attraversato ogni major dalla 4.x alla 8.x, e quello che porto in questa categoria non è l'entusiasmo per l'ultima novità, ma il criterio con cui si scrive PHP destinato a restare in produzione per anni.

Il primo tema è la modernità che conta davvero. Enums, property hooks, lazy objects, fibers, tipizzazione stretta e OPcache non sono voci di changelog da collezionare: sono strumenti che cambiano il modo di modellare un dominio e di reggere il carico. Scrivo di come si usano per rendere il codice più leggibile e più veloce, e di quando invece una feature nuova è solo zucchero sintattico che non vale il rischio di adottarla.

Il secondo tema è la realtà del codice legacy. La maggior parte del PHP che gira nelle aziende non è nuovo: è una base 5.x o 7.x che qualcuno deve tenere viva, mettere in sicurezza e portare avanti senza fermare il servizio. Qui l'esperienza pesa più della teoria, dal porting delle vecchie funzioni deprecate alla gestione dei cambi di comportamento silenziosi fra una versione e l'altra.

Il terzo tema è la sicurezza come parte del linguaggio, non come modulo aggiunto dopo: crittografia fatta con libsodium invece che a mano, sessioni difese da fixation e hijacking, upload validati in profondità, JWT implementati senza le trappole classiche. E sullo sfondo il capitolo che sta cambiando il mestiere: PHP nell'era dell'AI, dal debugging assistito alla validazione dell'output dei modelli.

Se hai un progetto PHP da modernizzare o un backend da irrobustire, guarda come lavoro sui progetti PHP senior oppure scrivimi per una consulenza mirata.

Il linguaggio non è mai il problema. Il problema è come lo usi, in che contesto, e se chi lo scrive sa davvero cosa sta facendo.
PHP

Ragionando in PHP 7 Lezione 1: Tipizzazione scalare

Ragionando in PHP 7 Lezione 1: Tipizzazione scalare PHP 5 ha introdotto a suo tempo la possibilità per lo sviluppatore di definire verbosamente i tipi di dato richiesti da una funzione. Questo impedisce l'esecuzione di funzioni o metodi richiamati con tipi di dati errati, come ad esempio passare un timestamp UNIX a un metodo che si aspetta un oggetto DateTime. In più, la tipizzazione rende anche chiaro agli altri sviluppatori come utilizzare la funzione in piena compatibilità. Per esempio, qui sotto, si analizzi la definizione delle due funzioni con … Continua a leggere
Ultima modifica:

Modificare al volo il codice HTML calcolato da Wordpress

Modificare al volo il codice HTML calcolato da Wordpress Molte volte si presenta la necessità di dover modificare una parte del codice HTML di un sito Wordpress. Le strategie per farlo sono molte, a partire dalla modifica diretta dei file di template, passando per la creazione di child template basati sul template originale, e ancora hook su plugin già presenti per modificarne le funzionalità. Tuttavia, tutte le opzioni sopra riportate sono scomode, controintuitive, ed esose in termini di tempo. Consideriamo una modifica molto banale al codice HTML finale … Continua a leggere
Ultima modifica:

Effettuare upgrade a PHP 7.2

Effettuare upgrade a PHP 7.2 Questo articolo nasce nel febbraio 2018 come guida operativa all'upgrade verso PHP 7.2 su sistemi Debian e Ubuntu via il repository ondrej/sury. Otto anni dopo lo aggiorno con il quadro storico completo, lo stato di end-of-life di PHP 7.2 dal novembre 2020, le ragioni per cui qualcuno potrebbe ancora trovarsela davanti in sistemi legacy, e il percorso pulito verso PHP 8.x supportato. Continua a leggere
Ultima modifica:

Automated PHP external .tar.gz backup rotation and retention period

Automated PHP external .tar.gz backup rotation and retention period You surely have experienced a lot of pain when handling your backups coming from the various servers you have online. A very important thing to remember is, in fact, to have backups of your live web servers, so if things go crazy, you have the "last resource". Plus, backups should be kept for at least some days, so that if you find out a web server breach or something you haven't noticed before, you can roll back the situation to the backup of N days before. If you're running cPanel, getting automated … Continua a leggere
Ultima modifica:

Come creare una landing page performante

Come creare una landing page performante Le Landing Page sono uno degli strumenti più efficaci per rendere redditizia una campagna pubblicitaria fatta su Internet, come ad esempio fatta su Google Adwords. Ma prima di tutto, che cos'è una landing page? Vediamo di spiegarlo con poche parole, e in maniera efficace. Mentre leggi la guida intanto puoi aprire in una nuova scheda un esempio di landing page creata da Web Sunrise, una Web Agency a Torino che si occupa di sviluppo di Siti Internet e pubblicità su Google Adwords. Facciamo finta che … Continua a leggere
Ultima modifica:
PHP

Scaricare file da mega.co.nz via PHP: classe MF PHP Mega.co.nz Downloader

Scaricare file da mega.co.nz via PHP: classe MF PHP Mega.co.nz Downloader Forse non tutti sanno che il vecchio e glorioso megaupload è stato rimpiazzato, da già un pò di tempo, da un nuovo servizio chiamato MEGA mega.co.nz sempre sviluppato da grossa parte del team che a suo tempo aveva sviluppato megaupload e megavideo. Una bella funzionalità di megaupload era la sua estrema semplicità nell'integrazione con PHP, sia in download che in upload.. Infatti, con qualche linea di codice PHP si poteva tranquillamente scaricare un file anche senza account premium , o uploadarne … Continua a leggere
Ultima modifica:
PHP

DOM Tree parsing con PHP: phpQuery

DOM Tree parsing con PHP: phpQuery Questo articolo nasce nel dicembre 2009 come introduzione a phpQuery, la libreria che portava la sintassi jQuery dei selettori CSS al server-side PHP per scraping e data mining. Sedici anni dopo lo aggiorno con il quadro storico di phpQuery, le ragioni del suo declino dopo la chiusura di Google Code, e lo stack moderno (Symfony BrowserKit, DomCrawler, Panther) che lo ha sostituito completamente nel 2026. Continua a leggere
Ultima modifica:

Ajax Calendar - Modulo Calendario in XML + Javascript

Ajax Calendar - Modulo Calendario in XML + Javascript Quello che vedete sulla destra di questo sito è un calendario particolare, nel senso che è progettato per il funzionamento asincrono tramite ajax. In questa maniera si può facilmente integrare un modulo calendario in qualsiasi sito con pochissime modifiche e separando nettamente la parte "intelligente" del programma, cioè la creazione dei giorni a partire da un dato mese/anno, dalla parte "meno intelligente", quella di output verso il browser. Ecco quindi spiegato il funzionamento, separato in: Script … Continua a leggere
Ultima modifica:

Mostrare un messaggio non invasivo con IE6

Mostrare un messaggio non invasivo con IE6 La direzione che si sta cercando di seguire, parlando in termini di "standardizzazione" dei formati relativi alle pagine web, è quella di lasciar cadere piano piano l'utilizzo di Internet Explorer 6, che è rinomato per la sua non uniformazione agli standard odierni relativi ai fogli di stile CSS. Questo fatto implica infatti un notevole impegno di tempo da parte degli sviluppatori web per cercare di "adattare" una pagina web quindi un layout con un determinato foglio di stile per il suo funzionamento … Continua a leggere
Ultima modifica:
PHP

Ridimensionare immagini con PHP: Classe SimpleImage

Ridimensionare immagini con PHP: Classe SimpleImage Spesso le operazioni più basilari son quelle che richiedono un impegno notevole, in termini di mero tempo di programmazione. Quante volte vi è infatti capitato di avere a che fare con operazioni con le immagini? E' un problema in cui si incappa molto frequentemente se si ha a che fare con siti di un certo livello. Girovagando per la rete, ho trovato una classe molto snella e facile da capire che permette basilari operazioni di ridimensionamento su ogni tipo di file immagine valido. La classe è stata … Continua a leggere
Ultima modifica:

Strumenti PHP utili

Tool gratuiti che uso e che possono servirti mentre lavori su PHP:

Audit del composer.lock, Regex tester, JSON formatter, Generatore UUID.