Can’t use function return value in write context in…

if (empty(trim($var))) …

Può capitare in PHP che spunti fuori questo errore: Fatal error: Can’t use function return value in write context in. cosa fare? Nel caso in cui usiate il metodo empty nella riga che genera errore if (empty(trim($var)))    // Some code la comprensione del problema è immediata: sulla documentazione ufficiale (empty()) è specificato che il … Continua a leggere Can’t use function return value in write context in…

Mambo: Unknown column ‘c.access’ in ‘on clause’

Risolvere una incopatibilità di Mambo con nuove versioni di MySql

Se state trasferendo una vecchia versione di Mambo 4.5.1, 4.5.2 o 4.5.3 verso un server con MySql 5 incontrerete questo errore sotto il menù "Content -> Content Managers -> All content items": Unknown column ‘c.access’ in ‘on clause’ SQL=SELECT c.*, g.name AS groupname, cc.name FROM mos_content AS c, mos_categories AS cc, mos_sections AS s LEFT … Continua a leggere Mambo: Unknown column ‘c.access’ in ‘on clause’

Il pattern Singleton in PHP: persistenza durante una sessione

Rendere una classe persistente durante la sessione di un utente

Vi avevamo già spiegato cos’è e come si implementa un Singleton nell’articolo precedente, ora renderemo quella stessa classe persistente durante tutta la sessione dell’utente (ovvero sinchè l’utente chiuderà il browser. Ovviamente nessun programmatore con un minimo di senno si diverte a reinventare l’acqua calda dunque utilizzeremo le sessioni già messe a disposizione da PHP. Ricordiamo … Continua a leggere Il pattern Singleton in PHP: persistenza durante una sessione

Implementare il pattern Singleton in script PHP

Perchè un oggetto singleton non è poi così unico

Il design pattern Singleton è uno dei pattern fondamentali dell’ingegneria del software. Se ne era già accennato negli articoli riguardanti la programmazione ad oggetti in PHP, precisamente qui, e qui, rimandando però sempre la questione. Do per scontato che chi sta leggendo conosca il pattern. In ogni caso Wikipedia nè dà, come sempre, una spiegazione … Continua a leggere Implementare il pattern Singleton in script PHP

Aggiungere motori di ricerca italiani a Mint

Piccola soluzione per aggiungere nuovi motori di ricerca

Cos’è Mint? Mint è un conosciuto sistema di statistiche utilizzato da numerevoli sviluppatori. Questo script non si distingue per una struttura del database ben curata ma è sicuramente un ottimo strumento per piccoli e medi siti per avere sempre una visione "fresh" dell’andamento del proprio sito. Mint è inoltre famoso per avere decine di plugins … Continua a leggere Aggiungere motori di ricerca italiani a Mint

PHP 5 ad oggetti: classi astratte e interfacce

Come creare, estendere e implementare classi astratte e interfacce

Sia le classi astratte che le interfacce sono particolari classi in cui è possibile non implementare alcuni metodi, ma soltanto dichiararli. Ma entriamo nei dettagli. Le classi astratte: abstract Una classe astratta è una classe in cui uno o più metodi non vengono implementati. Per questo motivo non si possono creare oggetti della classe. La … Continua a leggere PHP 5 ad oggetti: classi astratte e interfacce

Le variabili in PHP, errori comuni

Errori tipici nell’utilizzo delle variabili in PHP

Come tutti i linguaggi di programmazione anche il PHP ci da la possibilità di utilizzare delle variabili per conservare dei dati (numeri, stringhe, caratteri ecc…) ed effettuare diverse operazioni. Ma cosè una variabile? possiamo immaginarla come una scatola vuota dove inserire e conservare qualsiasi valore, e all’occorrenza variarlo (per questo il nome variabile) con un … Continua a leggere Le variabili in PHP, errori comuni

PHP 5 ad oggetti: overriding e keyword final

Il concetto di override, la parola chiave final, e come si ereditano costruttore e distruttore

Con questo articolo approfondiamo l’ereditarietà in PHP. Come sappiamo una classe derivata, ovvero una sottoclasse, eredita tutti i metodi della classe genitore, la classe base. Ora spiegherò più in dettaglio cosa e come viene ereditato. Ereditare il costruttore e il distruttore Chi viene da C++ potrebbe rimanere sorpreso da un titolo del genere. Ebbene si, … Continua a leggere PHP 5 ad oggetti: overriding e keyword final

PHP 5 ad oggetti: usare l’ereditarietà

Estendere una classe in PHP: sottoclassi e visibilità protected

Come tutti i buoni linguaggi ad oggetti, anche PHP permette di estendere una classe tramite altre classi. Avviso subito che assumo che si sappia il significato dell’ereditarietà tra classi. Spiegare questo concetto richiederebbe molto tempo, ed esula quindi dallo scopo di questo articolo. Estendere una classe: keyword extends Come in Java, per creare una classe … Continua a leggere PHP 5 ad oggetti: usare l’ereditarietà

PHP 5 ad oggetti: passaggio per valore e riferimento

La gestione dei passaggi di parametri in PHP 5: copia o reference?

Fino a PHP 4 i passaggi dei parametri alle funzioni avveniva solo per valore. Per tipi di dati primitivi, ovvero interi, float (o anche stringhe), ciò funziona bene. Ma per tutti gli altri oggetti ciò porta a un sensibile spreco di memoria e tempo di calcolo. Nel passaggio per valore, o per copia, che dir … Continua a leggere PHP 5 ad oggetti: passaggio per valore e riferimento