Solo non immaginavo che tornasse indietro nel tempo …
(Screenshot di PhpMyAdmin)
Proudly debugging the system since 1981
Un applicazione pratica del precedente post. Questa funzione prende in input un testo, riconosce indirizzi mail e web e crea automaticamente i link
function MakeLinkInText($text) {
// funzione di trattamento del testo in visualizzazione
// prende un testo, cerca mail e indirizzi web, e li linka
// si presuppone che il testo sia gia pronto e non da de-quotare
$ta = explode(” “,$text);
foreach( $ta as $key => $value) {
if (eregi(“^([a-z0-9]|\\-|\\.)+@(([a-z0-9]|\\-)+\\.)+[a-z]{2,4}$”, $ta[$key])) {
// match per email
$ta[$key] = “<a href=’mailto:”.$ta[$key].”‘>”.$ta[$key].”</a>”;
}
if (eregi(“^(www.|\\WWW.)+(([a-z0-9]|\\-)+\\.)+[a-z]{2,4}$”, $ta[$key])) {
// match per web senza protocollo
$ta[$key] = “<a href=’http://”.$ta[$key].”‘>”.$ta[$key].”</a>”;
}
if (eregi(“^(http://www.|\\http://WWW.)+(([a-z0-9]|\\-)+\\.)+[a-z]{2,4}$”, $ta[$key])) {
// match per web con protocollo
$ta[$key] = “<a href='”.$ta[$key].”‘>”.$ta[$key].”</a>”;
}
}
$text = implode(” “,$ta);
return $text;
}
Utilizziamo una espressione regolare:
if (eregi(“^([a-z0-9]|\\-|\\.)+@(([a-z0-9]|\\-)+\\.)+[a-z]{2,4}$”, $string))
Il controllo che viene fatto è ovviamente solo “grammaticale”, ovvero riconosce come valide mail con caratteri validi e dominio di primo livello tra le 2 e le 4 lettere.
Ovvero arrivare all’obbiettivo piu velocemente, con meno errori e con meno mal di testa.
L’argomento è gia stato trattato in altri post. Un buon punto di partenza è un framework, ovvero un insieme di classi, funzioni e moduli che si occupino delle operazioni piu ripetitive e che siano sufficentemente “astratti” da essere riutilizzabili in tutti i progetti. Vedi il post sull’argomento.
Un altro metodo per velocizzare è utilizzare una interfaccia di sviluppo adeguata. E il blocco note (per i MS-Fanboys) o vim (per i linuxari) non rientrano in questa definizione.
Un buon ambiente di sviluppo deve :
Un sogno ? Forse … io sono ancora alla ricerca. Alcune di queste cose le fa il classico Adobe Dreamweaver, altre le ho trovate in PHP Designer 2007
Se conoscete un ambiente di sviluppo che abbia tutto questo suggeritemelo. Io, intanto, continuo a cercare.
Ho provato un pò di framework e qualche risulato molto gradevole e di facile migrazione da codice esistente l’ho ottenuto tramite questo
A dire il vero non si tratta proprio di AJAX in quanto manca la X, non si usa infatti l’xml ma direttamente l’html.
Gestire correttamente il charset per lo scambio di dati tra client, server web e server dati è molto importante.
Per siti solo in italiano, o al massimo in lingue europee il discorso è semplice. Basta settare in ogni componente del processo il charset corretto.
PHP : header(‘Content-Type: text/html; charset=iso-8859-15′);
HTML: <meta equiv=”Content-Type” content=”text/html; charset=iso-8859-15″>
MySQL: Collation latin1_swedish_ci
Il Charset iso-8859-15 gestisce correttamente tutte le lingue europee e include il simbolo dell’euro. Per esigenze piu complesse si puo usare l’ UTF-8, ma raramente è necessario.
In teoria il webserver dovrebbe aggiungere gia tra gli header che invia di sua iniziativa il charset ma questo potrebbe essere differente da quello impostato in mysql o adirittura non essere settato (lasciando al browser il compito di capire quale charset meglio si adatti al contenuto che deve visualizzare) perciò specificarlo in modo esplicito è un ottima abitudine
La programmazione, come si sà, spesso porta ad un uso eccessivo di Copia-e-Incolla. Il riciclo di codice però porta alla difficoltà di mantenimento. Certo, il codice per mostrare il contenuto di una tabella è bene o male sempre lo stesso, ma doverlo copiare, incollare e adattare per 25 tabelle differente puo essere fastidioso.
Ancora di piu se poi capita di dover fare una piccola modifica.
Come fare allora ?
I Framework esistono per questo. Con semplici chiamate di funzioni o oggetti si possono gestire tutte quelle richieste ripetitive, in modo veloce e meno ripetitvo.
I framework si possono creare da zero, ma questa attività richiede una certa dimestichezza con la progettazione di oggetti per essere efficente, o utilizzare dei pacchetti OS.
CakePHP o Smarty possono fare al caso vostro se non avete tempo per svilupparvi un vostro framework, o semplicemente non ne avete voglia, o credete che un team di sviluppo skillato possa essere piu bravo di voi (cosa vera nella maggior parte dei casi)
Da ricordare, se si parla di soldi la formattazione piu appropriata è
sprintf(“%01.2f €”, $float);
e risulta:
$float: 1 out: 1.00 €
$float: 1,2 out 1.20 €
Ovvero sempre e cmq 2 cifre decimali anche se non servono. Ovviamente in php. Ma si capiva 😉
© 2024 b0sh.net
Tema di Anders Noren — Su ↑