PHP: Debug con Eclipse e Xdebug

E’ da un po’ che mi cimento con la programmazione PHP, ma fin’ora i debug erano solo qualche echo, seguito dal comando exit… ma quando i progetti cominciano a diventare grossi… la soluzione fin’ora adottata non è sufficiente, oltre che perdere molto tempo.

Quindi cosa fare?? Ci vengono incontro due Tool per il debug delle applicazione PHP:

XDEBUG (http://xdebug.org/)

ZEND DEBUGGER (http://www.zend.com/it/)

Vediamo come utilizzare il primo con il Tool Eclipse (nessuno vieta di utilizzare il caro vecchio vim). Ho utilizzato come sistema desktop Ubuntu 10.10, ma non dovrebbe essere molto diverso per la Windows.

Innanzitutto da Shell installiamo xdebug:

sudo apt-get install php5-xdebug

Editiamo il file di configurazione installato dalla procedura di cui sopra:

sudo vi /etc/php5/conf.d/xdebug.ini

ed aggiungiamo in fondo al file queste poche righe dopo :

xdebug.remote_enable=On
xdebug.remote_host="localhost"
xdebug.remote_port=9000
xdebug.remote_handler="dbgp"

Riavviamo Apache:

sudo /etc/init.d/apache2 restart

Ora procediamo alla configurazione di Eclipse:

Verificate di avere configurato il Browser dal Menù windows->preferences quindi selezionate General->Web Browser

Ora configuriamo il Debug aprendo la relativa finestra di Configurazione menù Run->Debug configurations

Valorizzate i campi come segue:

Server Debugger: Xdebugger

Php Server: Configurate per accedere al vostro sito di sviluppo (nel mio caso è in localhos)

Break at the irst line: disabilitata

Url-> Auto generate: disabilitata

Applicate le modifiche.

Ora siete pronti ad avviare il Debug, inserite un breakpoint, avviate il debug con il tasto F11, si aprirà il browser definito, navigate fino alla pagina che contiene il debug e Eclipse si attiverà sul Breakpoint…

Share

Sharepoint: Recuperare valori da un campo di tipo scelta per popolare una DropDownList

Per popolare un dropdownlist da una campo di Tipo Scelta sono sufficienti queste poche righe di codice:

//Recupero la lista
SPFieldChoice fieldLookup = (SPFieldChoice)web.Lists[tx.LISTA_SOCIETA_COMITATI].Fields["Tipo Gruppo"];
//Riempio il combo
foreach (string choice in fieldLookup.Choices)
{
    ddItem = new ListItem(choice, choice);
    dd.Items.Add(ddItem);
}

Dove ddItem è il controllo di tipo DropDownList.

Share

Open XML: Convertire un dotx in docx

Per convertire un modello di file Word, estensione gile dotx, in un documento docx p sufficiente utilizzare queste poche righe di codice:
using (WordprocessingDocument template = WordprocessingDocument.Open(documentStream,true))
{
    template.ChangeDocumentType(DocumentFormat.OpenXml.WordprocessingDocumentType.Document);
}

Dove documentStream è il vostro MemoryStream al modello dotx

Share