àˆ stata recentemente rilasciata una nuova versione per DataNucleus Access Platform, libreria per la gestione della persistenza dei dati utilizzata, tra gli altri, da Google AppEngine. Le soluzioni supportate sono veramente numerose ed eterogenee: dai framework come JDO e JPA, ai più diffusi RDBMS ma senza trascurare i database ad oggetti (ODBMS) come db4o, ai formati di più recente affermazione come JSON o i "classici" XML, Excel al protocollo LDAP. (more…)

Continua a leggere DataNucleus Access Platform, persistenza per tutti i gusti

Categoria: Java

Da qualche tempo mi sto occupando dello sviluppo di un semplice ODBMS in PHP da utilizzare per la persistenza degli oggetti in un Application Server. Mai come in questa situazione mi sono accorto di quanto sia fondamentale l'utilizzo di strumenti che facilitino il rilevamento di errori concettuali all'interno del codice. In PHP abbiamo a disposizione qualche funzione nativa per gestire il debugging di semplici script o siti internet, come l'error_reporiting, funzioni di logging, l'introspezione e qualche strumento di back-tracking delle chiamate. Purtroppo questi strumenti non bastano in applicazione più complesse ma fortunatamente possiamo sfruttare i debugger per facilitarci la vita. Un debugger è un programma (spesso una versione modificata di un compilatore/interprete oppure una libreria esterna scritta in codice nativo) che ci permette di eseguire il nostro codice passo passo, decidendo quando interrompere l'esecuzione per visualizzare lo stato corrente della nostra applicazione. Grazie a funzionalità di introspezione possiamo conoscere il contenuto dello scope corrente ed il valore di oggetti anche molto complessi. Spesso i linguaggi di programmazione forniscono un debugger nella loro distribuzione standard. PHP, a causa di alcune scelte progettuali, non fornisce questo strumento. Qualche volenteroso ha comunque deciso di rilasciare strumenti di debug per PHP. Personalmente utilizzo il debugger integrato in Zend Studio, ma possiamo trovare valide alternative nel panorama opensource. APD è un'estensione PECL che permette l'utilizzo di nuove funzioni in PHP per l'analisi ed i profiling dei nostri programmi. DBG è invece un debugger nativo molto utilizzato da IDE commerciali ed opensource grazie alla sua versatilità e completezza. Fino a qualche tempo fa utilizzavo l'estensione Xdebug, che è anch'essa ricca di funzionalità interessanti. Tutti questi strumenti necessitano di essere installati sul server sul quale il nostro programma è in esecuzione. Una valida ed interessante alternativa agli strumenti che vi ho elencato è Gubed, che spicca soprattutto per la particolare struttura che il programmatore ha deciso di seguire. Gubed infatti modifica il vostro codice PHP inserendo chiamate a funzione che vengono sfruttate per interrompere l'esecuzione e recuperare informazioni sul programma. Semplice ed efficace.

Continua a leggere PHP Debugging

Categoria: PHP e Open Source

Tags: , ,