Browsing all articles tagged with php Archives - JeKo’s blog 0.7 b
Ott
21
2012

Xdebug && MAMP on Mac Os X > Mountain Lion

xdebug && MAMP for Mac OsX

Programmazione php + mysql in locale: MAMP for Mac OsX && xdebug

Dopo il passaggio a Mountain Lion, previa formattazione del nuovo disco allo stato solido (per ora solo 120 giga ma vedremo di fare un update al più presto! fatto, con un Samsung 840 Pro 512 giga si vive molto meglio!!), la classica procedura per abilitare xdebug (per chi non lo conoscesse, si tratta di un modulo che semplifica tantissimo il lavoro di debugging, colorando i codici di errore ed indentandoli in maniera facilmente leggibile: lo potete scaricare qui) sembrava non funzionare più. Se anche a voi è capitata la stessa cosa (con qualunque versione di Mac OsX dalla 10.8 o superiore – quindi Mountain Lion, Mavericks, Yosemite o El Capitan), ecco come risolvere:

Aprite un Finder (io uso Path Finder Commander One, se provenite da Windows ed usate Total Commander vi tornerà sicuramente utile) e recativi alla seguente cartella:

Applicazioni/MAMP/bin/php/php5.x.x/conf dove php5.x.x è la versione di php in uso sul vostro MAMP (la potete scoprire aprendo la schermata principale di MAMP e cliccando su “Preferenze…” -> “PHP”).

A questo punto aprite il file php.ini con il vostro editor di testo/php preferito (io uso NetBeans, Coda e Atom), cercate la stringa “[xdebug]” (probabilmente la troverete alla fine del documento) e inserite di seguito quanto segue (cancellando o commendando il codice di default):

[Xdebug]
zend_extension=”/Applications/MAMP/bin/php/php5.4.4/lib/php/extensions/no-debug-non-zts-20100525/xdebug.so” ATTENZIONE, la stringa “no-debug-non-zts-20100525” cambia a seconda della versione di MAMP installato sulla vostra macchina!
xdebug.remote_enable=on
xdebug.remote_log=”/var/log/xdebug.log”
xdebug.remote_host=localhost
xdebug.remote_handler=dbgp
xdebug.remote_port=9000

EDIT: in realtà l’unica riga che serve per abilitare il modulo è zend_extension=”/Applications/MAMP/bin/php/php5.4.4/lib/php/extensions/no-debug-non-zts-20100525/xdebug.so”, le altre diciture abilitano il debug remoto. Abilitandolo potrete debuggare in tranquillità dal proprio IDE preferito (Netbeans, Eclipse, ecc.) anche se il vostro progetto non è in locale. A voi la scelta se lasciarle o meno… volendo potete commentarle aggiungendo un punto e virgola ( ; ) davanti alla stringa in modo da poterle decommentare a piacere in caso decideste di passare da una metodologia di lavoro client-client ad una client-server.

A questo punto dovrete solo ristartare MAMP (terminare il server apache ed il database SQL oppure riavviare il computer) ed il gioco sarà fatto!

Ecco una comparativa tra l’output di un var_dump() prima e dopo l’abilitazione del modulo di debug:

Prima e dopo l'indentazione di xdebug

 

Mar
7
2010

HeaderZ 2.0 :)

lupo_alberto

Non so se ve ne siete accorti ma da ieri sera (ore 4:13 di notte… argh) sono nuovamente disponibili i miei headers!!

Con il cambio di layout del blog i vecchi sono diventati, purtroppo, inutilizzabili… ma niente paura, qui a sinistra potete scaricare i nuovi sorgenti e riprendere a mandarmi i vostri lavori (che finiranno nell’intestazione del blog a random ad ogni accesso!).

Per chi volesse la spiegazione tecnica di quanto fatto (oh shit!, get a life! 😉 ), here we go! 😛

<?php
$directory = ‘immagini/headers2’;
$headers = scandir($directory);
$max = count($headers);

$random = rand(3, $max);
?>

<div>
<?php
if ($headers[$random]){ ?>
<img src=”directory_contenente_gli_headers<?php echo $headers[$random]; >”  alt=”JeKo’s headers 2.0 :)” />
<? } ?>
</div>

Chiaro no? 😉

Per i poco avvezzi ecco la spiegazione in pseudo italiano.

La variabile $directory contiene l’indirizzo della cartella che contiene le immagini. La variabile $headers (che in realtà è un array) immagazzina tutti i nomi delle immagini avvalendosi della funzione scandir.
$max fa il count della variabile $headers e contiene il valore numerico della lunghezza dell’array… in parole povere sa quanti elementi sono contenuti nell’array. Questo valore mi servirà per tirare a caso (randomizzare) un header ad ogni caricamento della pagina.

Con rand(3, $max) andiamo a tirare a caso un numero compreso tra 3 e l’ampiezza dell’array $headers.

Se vi state chiedendo perché parto da tre e non da uno come ci si potrebbe aspettare, la risposta è semplice. La funzione scandir indicizza il contenuto di una data cartella… se avete presente esplora risorse di windows sapete che i primi due elementi di una cartella sono ‘.’ e ‘..’ che servono a cambiare di cartella… ecco, quei due elementi sono i valori 1 e 2 dell’array e, dunque, vanno scartati. Randomizzato il numero, lo piazziamo all’interno della variabile $random.

if ($headers[$random]) è un semplice controllo: se il risultato di $headers[$random] non restituisce una stringa vuota, allora posso procedere ad inserire l’immagine.

L’ultima stringa, banalmente, è il codice html che disegna l’immagine presa dalla cartella degli headers randomizzata nelle stringhe precedenti.

Tutta questa pappardella di roba va inserita nel file header.php del vostro tema di WordPress (od, ovunque vogliate far comparire l’immagine nella vostra pagina web php).

Et voilà, il gioco è fatto. Non resta che riempire la cartella designata ed il gioco è fatto! Ed ora tocca a voi… aspetto con impazienza i nuovi lavori da inserire. Le specifiche le trovate qui mentre il file sorgente .PSD (Photo Shop Document), qui.

Citazione dell’anno


"Odiare i mascalzoni è cosa nobile"


Marco Fabio Quintiliano

Headers 2.0!

Headers 2.0 .... back again!
Paraponzi ponzi po'... gli headers son tornati... e tu che aspetti? Join the community! Scopri come (e scarica il .PSD!)

Que pasa aqui?

ottobre: 2017
L M M G V S D
« Giu    
 1
2345678
9101112131415
16171819202122
23242526272829
3031  

Nuvolame vario

Commenti recenti

Archivi

This blog is – questo blog è…

100% Made in Italy

Admin area