Login

Home Blog

Blog

Nonostante programmo in PHP da molti anni, mi capita ancora di scoprire cose nuove sul linguaggio. L'ultima sorpresa è arrivata dalle funzioni set_error_handler e set_exception_handler.

Come forse saprete, con queste istruzioni è possibile indicare a PHP quali funzioni chiamare quando si verifica un errore oppure viene sollevata un'eccezione non gestita.  Sono molto simili nella sintassi ma il loro comportamento nasconde una sostanziale  differenza.

Giovedì 08 Ottobre 2009 14:53

Migrazione? Attenti a MySQL!

di Gianni Tomasicchio

Di recente ho dovuto spostare un'applicazione PHP/MySQL presso un nuovo fornitore di VPS. Per il setup del nuovo server (Ubuntu) ho usato Zend Server CE che include PHP 5.3.0 e MySQL 5.0.51. Sul vecchio server invece erano istallati PHP 5.1.6 e MySQL 4.1.

Ovviamente la mia prima preoccupazione è stata quella di verificare la compatibilità del codice con il nuovissimo PHP 5.3. E qui sono cominciate le sorprese...

SEM e SEO, vi dicono niente queste sigle? Spero di si perché, anche se non siete degli addetti ai lavori ma semplici sviluppatori PHP, dovreste conoscere  gli accorgimenti necessarie a migliorare la visibilità ed il posizionamento nei motori di ricerca dei siti web che realizzate.

Che senso avrebbe creare un bellissimo sito che però risulta poco appetibile a Google e compari, e quindi destinato a rimanere nell'anonimato?

Nel mese scorso Google ha pubblicato una guida introduttiva all'ottimizzazione per motori di ricerca in italiano, ricca di osservazioni e spunti interessanti. Di questi accorgimenti, molti hanno un considerevole impatto sulla fase progettuale e realizzativa di un sito web. Eccoli riassunti in 10 punti.

Nei giorni scorsi si è accesa una piccola diatriba attraverso diversi blog (1, 2, 3) sull'utilità dei commenti all'interno del codice.

Da un lato ci sono coloro che sostengono l'utilità di commentare ogni singola riga di codice, in modo da semplificare le attività di manutenzione degli script. Dalla parte opposta ci sono invece coloro che ritengono che scrivendo codice di qualità, autoesplicativo, non sia necessario ricorrere ai commenti.

Voi da che parte state? Quanto tempo spendete nel commentare il vostro codice?

Non credo sia necessario spendere molte parole sul perché è importante adottare un framework per sviluppare applicazioni web in PHP. Per minimizzare i costi di sviluppo del software è necessario non "reinventare la ruota" ed affidarsi a pacchetti sviluppati da terzi.

Rimane però un interrogativo: come scegliamo il framework da adottare nel nostro nuovo progetto? Ecco alcune indicazioni.

Prima di proseguire nell'analisi delle varie fasi del ciclo di vita di una applicazione PHP volevo condividere alcune riflessioni sullo stretto legame che si instaura tra l'analisi dei requisiti, il design e lo sviluppo dell'applicazione.

Queste attività vengono spesso vissute come momenti indipendenti l'uno dall'altro. In particolare l'analisi dei requisiti, iniziando per prima,  viene spesso condotta dimenticando che poi qualcuno dovrà pur realizzare quanto emerso in questa fase.

A prima vista la questione può sembrare banale, ma questo errore capita di frequente, sopratutto quando l'analisi viene condotta da persone non coinvolte direttamente nelle successive attività di progettazione e sviluppo.

Nel ciclo di vita di una applicazione PHP tutte le fasi sono importanti. Nella mia esperienza lavorativa ho imparato però che l'analisi dei requisiti è talmente importante da mettere quasi in secondo piano tutto il resto. Ma andiamo con ordine.

L'analisi dei requisiti è l'attività che porta alla definizione del "cosa" dovrà fare l'applicativo. Consiste quindi nel definire quali saranno le funzionalità che il cliente desidera trovare nel prodotto finito. Se l'applicativo non è destinato ad un particolare committente ma al "grande pubblico" allora saranno gli addetti al marketing a definire i requisiti.

L'argomento è vasto e quindi in questo post mi limiterò a segnalare, in maniera schematica, quali sono secondo me gli aspetti da tenere in considerazione per affrontare correttamente questa fase.

Venerdì 10 Aprile 2009 19:40

PHP Lifecycle

di Gianni Tomasicchio

Una delle cose che ho imparato lavorando su progetti di dimensioni medio-grandi è l'importanza di una corretta pianificazione dell'intero ciclo di vita del software.

E' come quando si organizza un viaggio. Prima di partire bisogna individuare con precisione la meta, le tappe intermedie e i mezzi da utilizzare. Certo, se si fa una gita fuori porta non è necessaria tutta questa preparazione, ma se invece il viaggio è più lungo allora conviene rifletterci un po' su, prima di incamminarsi.

Allo stesso modo, la realizzazione di una applicazione PHP di una certa complessità richiede da un lato lo studio dei percorsi da intraprendere, dall'altro la scelta degli strumenti da utilizzare.

L'argomento è vastissimo e quindi, per adesso, mi limiterò ad elencare quali sono i punti essenziali da valutare e le scelte da effettuare prima di lanciarsi a capofitto nella realizzazione di una applicazione web con PHP.

Lunedì 26 Gennaio 2009 22:08

Tutti pazzi per le prestazioni

di Gianni Tomasicchio

E’ da quando ho iniziato a programmare che mi scontro con i patiti delle prestazioni. “Questa procedura è più performante se la riscriviamo così”, oppure “il ciclo while è più veloce del ciclo for”, e ancora “se mettiamo tutto su un’unica riga risparmiamo due variabili”, ecc. ecc..

Ho notato che questa attenzione alle prestazioni si fa quasi malattia in alcuni sviluppatori PHP, professionisti e neofiti. Nei forum ad esempio si trovano spesso domande del tipo “quale approccio è più performante?” ma anche nei blog di illustri sviluppatori ci si imbatte in discussioni sulla velocità di esecuzione di questa o quella funzione. Per non parlare degli articoli di approfondimento che promettono di svelare i segreti sull’ottimizzazione degli script PHP.

Ma siamo tutti impazziti?

Negli ultimi mesi sto dedicando un po’ del mio tempo libero ad un progetto personale, la realizzazione di un sistema di reportistica in formato PDF per PHP. In ufficio utilizziamo Crystal Report per realizzare i report di una applicazione web sviluppata in Java. La bellezza di questo prodotto, a parte l’interfaccia grafica in stile drag-and-drop, sta nell’approccio con cui vanno realizzati i report. Viene infatti messo in primo piano il “cosa vuoi mostrare” mentre il “come riuscirci” e relegato solo alle personalizzazioni più particolari.

In PHP esistono ottime librerie per realizzare file in formato PDF ma nessuna di queste è orientata alla reportistica, infatti permettono di realizzare anche complessi documenti PDF, a patto di doverne specificare ogni dettaglio, ma non offrono alcun supporto alla visualizzazione di un elenco di dati, magari ordinati e raggruppati secondo particolari criteri. Per non parlare di totali, formule, salti di pagina, grafici ecc...

Pagine: Inizio <1234>Fine
Pagina 1 di 4