Articolo leggero ideale per un sabato mattina, dedicato a tutti coloro che vogliono inserire una citazione scelta a caso tra varie disponibili (ed inserite dall’utente in qualunque momento) all’interno di una propria pagina web, del blog o di chissà cos’altro!
Il codice che vado a riportare non fa uso di SQL. Si basa su se stesso. Le frasi vengono dichiarate all’interno di un array e una semplice funzione random ne restituisce solo una come risultato dell’esecuzione dello script, includendo lo script dove si desidera si otterrà quindi una riga di testo (completa di collegamenti ipertestuali, se presenti) ereditando il CSS della pagina e comparendo esattamente dove da voi richiamata:
<?php # RandomQuote 0.2 # Revision 20120824 # web: http://goo.gl/BUPJ3 mailto: dev@gfsolone.com /* =ARRAY CITAZIONI= La modalità per dichiararle è la seguente: $quotes[] = 'TESTO CITAZIONE (<em><a href="COLLEGAMENTO_PAGINA_AUTORE" />AUTORE</a></em>)'; A partire dal primo apice si potrà iniziare a riportare il testo facendo attenzione a quanto specificato nell'articolo del blog. Nella parentesi e nel giusto spazio si potrà inserire l'autore e il collegamento ad una pagina web che ne riporti la biografia o qualsiasi altro dettaglio, come è possibile nelle frasi dello script originale. */ $quotes[] = 'Quel NOOOO che hai appena tirato non lo diresti nemmeno di fronte alla tua ragazza che ti dice che è rimasta incinta. No, quel NO lo cacci di gola solo ed esclusivamente quando sbagli un gol a PES! (<em><a href="http://giovanni.solone.it" />Gioxx</a></em>)'; $quotes[] = 'Cose che ho imparato nel 2009: per qualsiasi prestazione professionale, farsi pagare almeno una percentuale a inizio lavori. (<em><a href="http://friendfeed.com/kurai/c65087ba/cose-che-ho-imparato-nel-2009-per-qualsiasi" />Federico Fasce</a></em>)'; $quotes[] = 'Stay hungry, stay foolish. Thank You for all, <a href="http://gxware.org/steve">Steve <img src="http://gxware.org/steve/images/apple_icon.gif" style="width: 15px; float: right; padding-left: 5px;" /></a>'; $quotes[] = 'La disumanità del computer sta nel fatto che, una volta programmato e messo in funzione, si comporta in maniera perfettamente onesta. (<em><a href="http://it.wikipedia.org/wiki/Isaac_Asimov" />Isaac Asimov</a></em>)'; $quotes[] = 'Non provare mai a spiegare il computer a un profano. È più facile spiegare il sesso a una vergine. (<em><a href="http://it.wikipedia.org/wiki/Robert_Anson_Heinlein" />Robert Anson Heinlein</a></em>)'; $quotes[] = 'Mentre in fisica devi capire come è fatto il mondo, in informatica sei tu a crearlo. Dentro i confini del computer, sei tu il creatore. Controlli -almeno potenzialmente- tutto ciò che vi succede. Se sei abbastanza bravo, puoi essere un dio. Su piccola scala. (<em><a href="http://it.wikipedia.org/wiki/Linus_Torvalds" />Linus Torvalds</a></em>)'; $quotes[] = 'Men are from Mars, Women are from Venus, Phones are from Hell (<em>Unknown</em>)'; $quotes[] = 'The more I have given away, the more I have gotten back (<em><a href="http://ma.tt/about/" />Matt Mullenweg</a></em>)'; $quotes[] = 'I computer sono incredibilmente veloci, accurati e stupidi. Gli uomini sono incredibilmente lenti, inaccurati e intelligenti. L\'insieme dei due costituisce una forza incalcolabile ... (<em><a href="http://it.wikipedia.org/wiki/Albert_Einstein" />Albert Einstein</a></em>)'; $quotes[] = 'Tutto quel che sapete far bene contribuisce alla vostra felicità. (<em><a href="http://it.wikipedia.org/wiki/Bertrand_Russell" />Bertrand Russell</a></em>)'; $quotes[] = 'L\'ordine è solo disordine con scarsa fantasia ... (<em>Sconosciuto</em>)'; $quotes[] = 'I maschi non crescono mai, cambiano solo i giocattoli! (<em>Sconosciuto</em>)'; $quotes[] = 'In una battaglia vince colui che ha fermamente deciso di vincere. (<em><a href="http://it.wikipedia.org/wiki/Lev_Tolstoj" />Lev Tolstoj</a></em>)'; $quotes[] = 'Quello che gli altri pensano di te, è un problema loro. (<em><a href="http://it.wikipedia.org/wiki/Charlie_Chaplin" />Charlie Chaplin</a></em>)'; $quotes[] = 'Sei vecchio quando: servono due o più colpi di scroll per selezionare il giusto valore "anno di nascita" in un form di registrazione ... (<em><a href="https://twitter.com/Gioxx/status/218764189387333633" />Gioxx</a></em>)'; /* Non modificare nulla a partire da questa riga */ srand ((double) microtime() * 1000000); $random_number = rand(0,count($quotes)-1); echo ($quotes[$random_number]); ?>
Occorre fare attenzione ad alcuni dettagli:
- occhio agli apici. Se volete inserirne di nuovi (‘) nella citazione ricordate che il PHP può digerirli solo se anticipati da un backslash (\), in caso contrario verranno considerate chiusure del $quotes e lo script andrà in errore quando eseguito. E’ possibile notare quanto appena specificato nel quote:
<pre>$quotes[] = 'L\'ordine è solo disordine con scarsa fantasia ... (<em>Sconosciuto</em>)';</pre>
- nello stesso è inoltre possibile notare l’utilizzo dei codici HTML per riprodurre lettere accentate e simili, come riportato in questo documento di riferimento: ascii.cl/htmlcodes.htm. In pratica, per far comparire a video una “à” basterà scrivere “à” nel codice, comprensiva di punto e virgola finale (ma senza apici, ndr);
- è tutto codice html estremamente semplice e facilmente riproducibile tramite qualsiasi editor, farci la mano è semplice!
Prima della funzione ho voluto inserire un avviso che prega di non modificare alcunché. Se lo fate per apportare miglioramenti a questo banale script che ben venga, magari condividetelo allo stesso modo con me e i lettori nell’area commenti! ;-)
Per vederlo all’opera basterà andare su gfsolone.com, le frasi vengono caricate nel footer del blog:
A voi non resta che completare il file con le frasi preferite e includerlo ovunque vogliate :-)
Inclusione
Caricando il file PHP all’interno del vostro spazio web e richiamandolo attraverso un “include” ovunque voi vogliate sarà possibile godere del risultato della funzione. Il codice è estremamente semplice:
<p><?php $filename = './randomquote.php'; if (file_exists($filename)) { include "$filename"; } else { echo "Knock Knock Neo ..."; } ?></p>
Perché complicarmi la vita con queste righe? Perché controllano la presenza del file randomquote.php sul vostro spazio web e –nel caso non esista nella cartella specificata nella variabile $filename– inseriscono una frase unica (Knock Knock Neo, ndr) per evitare che i visitatori vedano errori di file non trovato sul sito, decisamente poco carini da mostrare no? ;-)
Aggiornamenti
Il codice di RandomQuote (randomquote.php) è stato incluso all’interno del mio Wiki pubblico, è possibile quindi trovarlo all’indirizzo public.gfsolone.com/wiki/doku.php?id=wordpress:randomquote dove pubblicherò inoltre eventuali aggiornamenti (frasi o codice) in futuro.
A voi basterà tenere d’occhio la pagina per sapere se e quando lo aggiornerò, per poterlo così scaricare e aggiornare anche sul vostro sito web (ammesso che teniate le stesse citazioni).
In conclusione
Ci sono mille modi differenti e sicuramente più eleganti per realizzare questo tipo di lavoro ma il codice che ho pubblicato è stato messo assieme in pochi minuti e senza star li a girarci troppo attorno, ho deciso di diffonderlo perché penso possa tornare utili ad altri lettori, sono ben accette critiche e miglioramenti (come già detto), fatevi avanti :-)
Buon divertimento e -nel caso doveste riscontrare delle anomalie- chiedete pure supporto nell’area commenti!
L'articolo potrebbe non essere aggiornato
Questo post è stato scritto più di 5 mesi fa, potrebbe non essere aggiornato. Per qualsiasi dubbio ti invito a lasciare un commento per chiedere ulteriori informazioni! :-)