Tips & tricks
Ovvero suggerimenti e trucchetti... Le soluzioni più astute e geniali a tutti quei piccoli e grandi problemi che i webmaster e i web designer devono affrontare ogni giorno!
- Tools che non devono mancare a chi sviluppa in PHP
- Un po' di rispetto!
- Validate il vostro HTML
- Guarda il codice della pagina!
- Spedisci e-mail dal tuo sito con PHP
- Una descrizione per i tuoi link con un tooltip
- Nascondi la image bar di IE6
- Tools che non devono mancare a chi sviluppa in PHP
Certamente la vita dello sviluppatore di progetti in PHP non è né semplice né comoda. Soprattutto dovendo gestire progetti di una certa complessità e dimensione.
Fortunatamente esistono diversi software che possono rendere la vita molto più semplice a chi sviluppa.
- Un editor efficiente e flessibile. Per chi lavora con Windows la scelta è quasi obbligata e si chiama Dreamweaver: un sistema completo di gestione dei progetti che è davvero riduttivo chiamare editor. Se cerchiamo alternative free e leggere non sfigura affatto Notepad++, maturo, completo e open-source.
Per Linux GEdit è sicuramente l'alternativa più flessibile e veloce anche se gli *nix-isti incalliti continueranno a preferire vi specie la versione Improved (vim). - I giusti tool per gestire MySQL. Se è vero che MySQL è uno tra i più potenti db in circolazione, è anche per la presenza di alcuni software formidabili di cui non potete fare a meno. Per la gestione remota dei database la scelta si riduce a: Adminer e phpMyAdmin: il primo è il più leggero e veloce. Il secondo è più maturo e spesso è direttamente messo a disposizione dal vostro provider. Da usare in locale molto buono è HeidiSQL. Riesce a gestire anche altri DBMS come PostgreSQL.
- Un framework che ti aiuti a semplificare l'organizzazione dei progetti anziché complicarli. Io personalmente mi sento di consigliare nell'ordine: CodeIgniter, CakePHP, Prado o Web Application Component Toolkit. Scegliete quello più adatto a voi e imparatene bene l'utilizzo; non ve ne pentirete.
- Strumenti di Debug. Sono indispensabili (secondo me) alcuni software che forse avete già sotto mano. Possiamo limitarci ad usare il browser Mozilla Firefox completo di almeno 3 degli eccezionali plug-in disponibili: Web Developer Toolbar che vi permette di controllare minuziosamente ciò che viene generato, Firebug per la verifica degli script e ispezionare ogni singolo elemento della pagina, e per finire FirePHP per il debug del codice lato server. Per gli incontentabili c'è Xdebug una estensione che è anche un profiler. Quando uno script genera un errore, Xdebug stampa un messaggio contenente lo stack delle chiamate, i nomi delle funzioni, i valori dei parametri, i sorgenti e i numeri di riga.
- Un editor efficiente e flessibile. Per chi lavora con Windows la scelta è quasi obbligata e si chiama Dreamweaver: un sistema completo di gestione dei progetti che è davvero riduttivo chiamare editor. Se cerchiamo alternative free e leggere non sfigura affatto Notepad++, maturo, completo e open-source.
- Un po' di rispetto!
Capita sovente di imbattersi in siti web che rasentano la cafoneria più insolente. Non è uno sfogo, è un dato di fatto: pop-up che si aprono a ripetizione, pubblicità a tradimento in mezzo ai contenuti, le funzioni del menu contestuale disabilitate (sarete mica ladri di codice eh?), caratteri spesso illeggibili per le loro dimensioni lillipuziane...
Non parliamo poi della stampa: quante volte avreste voluto stampare quell'articolo che vi interessava? Ma per una pagina di contenuti devi quasi sempre stampare 5 pagine: una per il banner, una per il menu, una per la publicità, un'altra per il titolo, una (finalmente) per il testo, quasi sempre mozzato sul lato destro per mancanza di spazio, e una per altra spazzatura come footer, spalle e altri box che non ti interessavano).
Quello che ho preso ad esempio non è un caso isolato, ma è ormai una triste consuetudine. Un solo consiglio veramente utile per far sì che un visitatore si affezioni al vostro sito e torni a trovarvi: r i s p e t t a t e l o!
Per comprendere meglio il fenomeno di cui sto parlando e per evitare gli errori più gravi ho preparato questo breve decalogo:
- Non trattare il tuo visitatore come un intruso, vietandogli operazioni col mouse o rendendogli la vita difficile con la tastiera. È perfettamente inutile, per altro, nei confronti di chi sa come disabilitare il supporto JavaScript del proprio browser...
- Crea un foglio di stile specifico per la stampa: coloro che troveranno utili i tuoi contenuti non dovranno impazzire per stamparli. In alternativa rendi disponibile una versione specifica dell'articolo adatta per la stampante.
- Curate sempre l'ortografia e la grammatica di ciò che scrivete: è un segno di attenzione e rispetto nei confronti di chi fa lo sforzo di leggervi.
- Limitate la pubblicità allo stretto indispensabile ed evitate nel modo più assoluto: i fastidiosissimi pop-up e pop-under, ad-tools che creano falsi-link con determinate parole chiave, ad-links travestiti da tool-bar. Estorcere link a tradimento non è furbo, è stupido; chi ci casca una volta, poi gira al largo da voi.
- Create un ambiente confortevole e sicuro: colori che facilitano la lettura, pagine leggere e veloci, strumenti per far capire all'utente dove si trova, niente animazioni inutili, link immediatamente riconoscibili. Dite al vostro ospite: "fai come se fossi a casa tua". Fategli subito sapere se i contenuti del sito siano per tutti o solo per un pubblico adulto!
- Curate l'accessibilità: per prima cosa fate in modo che l'utente non debba usare una lente per leggere. Poi provate ad usare il vostro sito con la sola tastiera. Se ci siete riusciti, complimenti!
- Fate uso dei soli standard del W3C per le vostre pagine. Sarete sicuri che la maggior parte dei browser si comporteranno a dovere con il vostro sito. Fate una serie di test per verificare il comportamento del vostro codice però!
- Se il vostro sito è veramente esteso e di navigazione un po' complessa, fate trovare due strumenti al visitatore: una mappa del sito e un motore di ricerca interno.
- Usate sempre un linguaggio consono agli argomenti che affrontate senza eccessi né inutili iperboli. Attenetevi all'argomento e siate esaurienti. Ma soprattutto ricordate che la vostra potenziale audience è il mondo: evitate di urtare la sensibilità di chiunque, sia che si parli di politica, religione o sesso. In definitiva: tolleranza, educazione, buon senso.
- Controllate sempre le fonti delle notizie che darete ai vostri lettori. Nulla di peggio di un sito che cerca di convincervi del contrario della realtà "e se non ci credete siete dei pirla".
- Validate il vostro HTML
Scrivere buon (X)HTML non significa solo creare un sito bello, ben strutturato e facile da usare. Almeno non solo. Significa anche rispettare gli standard, così come il W3C li ha pubblicati come linee guida da seguire.
Controllare l'effettiva corrispondenza con gli standard del codice prodotto ha più effetti benefici:
- il codice prodotto funzionerà allo stesso modo sulla maggior parte dei browser
- gli utenti avranno una ottima impressione riguardo la vostra professionalità
- ogni volta che controlli il tuo codice impari qualcosa di nuovo
Gli strumenti per il controllo e la validazione li trovate direttamente a casa di chi scrive gli standard:
- Guarda il codice della pagina!
Durante lo sviluppo, ma anche per mostrare un esempio a chi ti sta visitando, puoi far sì che la pagina sia svelata con un semplice clic. Basta anteporre all'indirizzo un semplice
view-source:
.Fai come me: prepara uno script contenente questa funzione (o aggiungila ad uno script esistente):
function viewHtml() { this.location = "view-source:" + this.location.href; }
Poi metti un link che richiami la funzione nel punto della pagina che ritieni più comodo:
<a href="#" onClick="viewHtml()">HTML</a>
Ecco fatto!
- Spedisci e-mail dal tuo sito con PHP
Con questo semplicissimo esempio vi mostro come utilizzare la funzione
mail()
per spedire dal proprio sito un'e-mail usando il PHP. Le variabili parlanti che ho impostato all'inizio dovrebbero chiarire la loro funzione.Dobbiamo precisare che il file
php.ini
dovrà essere impostato a dovere perché la funzionemail()
funzioni. La sezione[mail function]
va impostata in modo diverso per gli ambienti Win32 e *nix: per Windows va specificato l'indirizzo del server SMTP e la porta (standard=25), mentre per Linux assegneremo alla variabilesendmail_path
il percorso completo del programma Sendmail o altro MTA.<?php $destinatario = "dest@dominio.tld"; $dst_in_copia = "dest.copia@altro.net, x.conoscenza@ancora.com"; $dest__in_ccn = "dest.ccn@domain.tld, non.ti.vedo@dominio.it"; $oggetto_mail = "Questo e' l'oggetto del messaggio"; $testo__messg = "Il testo del messaggio va qui.\nA capo."; $header_suppl = "From: mittente@dominio.it Reply-To: rispondere_a@dominio.tld X-Mailer: PHP/5.2.1 Bcc: $dest__in_ccn Cc: $dst_in_copia"; // Spedisci la mail $risultato = mail ($destinatario, $oggetto_mail, $testo__messg, $header_suppl); // Visualizza l'esito dell'operazione if ($risultato) echo "Mail spedita con successo"; else echo "Non e' stato possibile spedire la mail"; ?>
Ho voluto mostrarvi come inviare la mail in copia (CC = Carbon Copy) o in copia nascosta (BCC = Blind Carbon Copy). Il 4° parametro della funzione accetta tutti gli header aggiuntivi leciti. Mettiamo in BCC i destinatari che non debbono essere visualizzati dagli altri destinatari della mail, e in CC i destinatari il cui nome debba apparire nell'intestazione del messaggio.
- Una descrizione per i tuoi link con un tooltip
Lo sapevi che l'HTML ti permette di visualizzare un tooltip su di un link testuale senza usare immagini né complesse funzioni Javascript? Basta usare l'attributo
title
e il testo descrittivo che desideri sarà visualizzato all'interno di un tooltip.Il codice per ottenere tutto questo:
<a href="http://www.google.it/" title="Cerca con Google Italia!">Cerca</a>
- Nascondi la image bar di IE6
A volte capita di non voler avere tra i piedi quella barra di quattro pulsanti che Internet Explorer 6 e successivi fanno apparire all'interno delle immagini per consentire un più agevole accesso a quelle funzioni di manipolazione delle immagini come la stampa, la copia o l'invio per e-mail.
Tutto bene fintanto che l'immagine è una foto, ma se si tratta di uno screenshot o di uno schema che vogliamo sia sempre visualizzato per intero senza sovrapposizioni arbitrarie? Per rimediare possiamo inserire nella sezione
<head>
...</head>
di ogni pagina in cui disabilitare la barra la seguente riga:<meta http-equiv="imagetoolbar" content="no" />
e tutte le immagini della pagina di qualsiasi dimensione saranno prive delle image bar.