lunedì 30 aprile 2012

Introduzione al PHP: Gli Array - Accesso e Modifica

Hai visto fin ora come creare un array, la struttura dati principale all'interno del linguaggio PHP. Vedrai ora gli elementi base per la manipolazione di queste strutture dati.

Accedere ad un elemento
Il modo più semplice di accedere ad un elemento di un array è tramite la sua chiave. Supponi di avere l'array:

$mioArray = array( "Nome"=>"Ciro", "Cognome"=>"Pellegrino", "Indirizzo"=>array("Topo"=>"Via", "Strada"=>"Duca degli Abruzzi", "Civico"=>"25", "CAP"=>"72100", "Città"=>"Brindisi", "Prov"=>"BR"));

Introduzione al PHP: Gli Array - Inizializzare (Parte 2/2)

PHP fornisce un nutrito numero di funzioni per la manipolazione degli array. Fra queste ci sono delle funzioni per la creazione di array che sono range(), array_fill_keys() e array_fill().

La funzione range()
La funzione range consente di ottenere un array di valori adiacenti ovvero distanti un certo passo, specificando il solo valore iniziale e il limite sueriore/inferiore (a seconda che il limite sia maggiore o minore del valore iniziale). Qualora la funzione non riesca a portare a termine l'operazione produce un Warning e ritorna false. La sintassi è:

Introduzione al PHP: Gli Array - Inizializzare (Parte 1/2)

Gli array PHP sono strutture che associano ad
una chiave un valore
Gli array di PHP non sono array nel senso classico del termine. In PHP gli array sono strutture dati che creano un'associazione tra una chiave (di tipo int o stringa) e un valore, che può appartenere ad uno degli otto dati primitivi ivi compreso un array, dando luogo ad array multidimensionali. Non c'è obbligo che i dati contenuti in un array siano omogenei (dello stesso tipo), così come non c'è obbligo che le chiavi siano tutte dello stesso tipo ma possono alternarsi chiavi numeriche a chiavi stringa e dati di tipo diverso nello stesso array.

domenica 29 aprile 2012

Introduzione al PHP: Il parsing delle variabili nei letterali stringa

I letterali stringa tra doppi apici, come anche i blocchi di testo che si comportano come letterali stringa tra doppia apici senza i doppi apici, possono accogliere al loro interno il nome di variabili. Tali variabili sono valutate in fase d'interpretazione del letterale, e il nome sostituito con il relativo contenuto. Per l'integrazione di variabili nei letterali stringa esistono due sintassi. La sintassi semplice permette con poco sforzo di inserire una variabile in un letterale stringa. Ad esempio:

$numero = 10;
$stringa = "Ti ho pensato $numero volte";

venerdì 27 aprile 2012

Introduzione al PHP: Letterali Stringa (Parte 2/2)

Letterali stringa come blocchi di testo

Esiste infine un altro modo di rappresentare un letterale stringa tramite l'operatore <<< seguito da un identificatore e da un invio. Tutto ciò che segue è interpretato come letterale stringa fino a quando non viene trovato su una nuova linea, posizionato in prima colonna un'altro identificatore uguale al primo. Tutto quanto posto fra le due etichette è il letterale stringa.

Introduzione al PHP: Letterali Stringa (Parte 1/2)

Un letterale stringa è una sequenza di caratteri racchiusi tra apice singolo o doppio apice. A seconda del tipo di apice utilizzato, singolo o doppio, cambia il modo in cui il letterale è interpretato da PHP.

//I due letterali producono lo stesso risultato
$stringa1 = "Hello World!";
$stringa2 = 'Hello World!';

Letterale fra singolo apice

Nel caso di letterale stringa fra apice singolo, i caratteri sono interpretati così come sono, e codificati secondo il charset del file sorgente. Fa eccezione il back slash (\ detto anche carattere di escape) se seguito da un altro back slash o da un apice singolo. Abbiamo quindi le seguenti sequenze di escape:

sabato 21 aprile 2012

Introduzione al PHP: Letterali NULL, Boolan, Resource e Object

Per il tipo null, l'unico valore letterale ammesso è null (case-insensitive). Si ricorda che per verificare se una variabile è NULL, occorre utilizzare la funzione is_null(). Sebbene siano considerate null anche una variabile passata come argomento alla funzione unset() e le variabili non inizializzare (quindi inesistenti), queste se utilizzate con la funzione is_null() producono un errore di tipo Notice. D'altra parte l'utilizzo della funzione isset() su una variabile NULL ritorna false.

Introduzione al PHP: Letterali in Virgola Mobile

Un letterale in virgola mobile può essere espresso nel formato decimale come un segno (+ o -), opzionale, seguito da una sequenza numerica in cui può essere presente un punto decimale a dividere la parte intera dalla parte decimale. Opzionalmente si può inserire una parte esponenziale formata da "e" o "E", un segno + o - opzionale e la sequenza di cifre che costituiscono l'esponente.

Introduzione al PHP: Letterali Interi


Valori Letterali
Un letterale è la rappresentazione del codice sorgente di un valore fisso; i letterali sono rappresentati direttamente nel tuo codice senza richiedere calcoli. E' possibile assegnare un letterale ad una variabile:
$int = 1000;

venerdì 20 aprile 2012

Introduzione al PHP: Tipi di Dato Primitivi

Il linguaggio di programmazione PHP non è a tipizzazione forte, il che significa che tutte le variabili non hanno bisogno di essere dichiarate prima di poter essere utilizzate e nel momento in cui le si utilizza possono contenere qualunque tipo di dato. Ciò significa che se desideriamo utilizzare una variabile ci basta inizializzarla, per esempio:
$eta=25;

mercoledì 18 aprile 2012

Introduzione al PHP: Nomi di Variabili

Ogni linguaggio di programmazione ha il proprio insieme di regole e convenzioni per i tipi di nomi permessi, e il linguaggio PHP non è differente.

Le regole e convenzione per i nomi delle variabili possono essere riassunte come segue:
  • I nomi delle variabili sono case-sensitive. Un nome di variabile può essere qualunque identificatore valido – sequenza illimitata di lettere (a-z A-Z), sottolineatura(_), simboli (codice ASCII da 127 a 255) e cifre (0-9), che iniziano con il simbolo dollaro “$” seguito da una lettera o sottolineatura.

martedì 17 aprile 2012

Introduzione al PHP: Variabili

Come hai avuto modo di vedere nel post Cos'è una Classe, un oggetto memorizza il proprio stato nei campi.

private $pedalata = 0;
private $velocita = 0;
private $marcia   = 1;

Nonostante questa piccola introduzione ai campi, hai sicuramente delle domande del tipo:
  • Quali sono regole e convenzioni per i nomi delle variabili? 
  • Esistono dei tipi di dati per le variabili? 
  • È assegnato un valore di default alle variabili non esplicitamente inizializzate? 

Concetti di OOP: Cos'è un'Interfaccia

Come già discusso nel post Cos'è un Oggetto, gli oggetti definiscono la loro interazione con il mondo esterno tramite i metodi che espongono. I metodi costituiscono l’interfaccia dell’oggetto con il mondo esterno; i bottoni sul tuo televisore, per esempio, sono l’interfaccia tra te e gli elementi elettrici di là dell’involucro in plastica. Premendo il bottone di accensione, il televisore si accende e spegne.

Concetti di OOP: Cos'è l'Ereditarietà

Tipi differenti di oggetti hanno spesso una parte comune gli uni con gli altri. Le mountain bike, le biciclette da corsa e i tandem, per esempio, condividono le caratteristiche delle biciclette (velocità, cadenza, marcia). In più ognuna ha delle caratteristiche proprie che la rendono differente: il tandem ha due posti e due manubri; la bicicletta da corsa ha il manubrio curvo; qualche mountain bike ha un anello addizionale per la catena, che le conferisce un rapporto di trasmissione più basso.

Concetti di OOP: Cos’è una Classe?

Nel mondo reale, trovi spesso singoli oggetti, tutti dello stesso tipo. Ci sono migliaia di altre biciclette in circolazione, tutte dello stesso produttore e modello. Tutte le biciclette sono state realizzate dallo stesso insieme di stampi e perciò contengono gli stessi componenti. In termini object-oriented, diciamo che la tua bicicletta è un’istanza della classe di oggetti conosciuti come biciclette. Una classe è uno stampo da cui sono creati i singoli oggetti.
La seguente classe Bicicletta è una possibile implementazione per una bicicletta:

lunedì 16 aprile 2012

Concetti di OOP: Cos'è un Oggetto

Negli esempi dei post di questo blog, ho intenzione di servirmi il più possibile della OOP. 
Se non hai mai utilizzato prima un linguaggio di programmazione object-oriented, hai bisogno di apprendere i concetti base prima di poter iniziare a scrivere del codice. Con questo post e i successivi 3 voglio fornire una introduzione ai concetti di oggetti, classi, ereditarietà, interfacce. Ogni argomento mostra come questi concetti siano in relazione con il mondo reale, mentre si fornisce un'introduzione alla sintassi del linguaggio di programmazione PHP.

Cos'è un Oggetto?

Gli oggetti sono la chiave per comprendere la tecnologia object-oriented. Guardati intorno ora e vedrai molti esempi di oggetti del mondo reale: un cane, la scrivania, la televisione, una bicicletta.

giovedì 12 aprile 2012

Introduzione al PHP: Come funziona il PHP in una pagina Web

Prima di tutto chiariamo cosa è PHP:
PHP (acronimo ricorsivo che sta per PHP: Hypertext Preprocessor) è un linguaggio di scripting open source per scopi generici, ampiamente diffuso e particolarmente adatto alla produzione di software web incorporandolo nel codice HTML.
La richiesta del Client
Se stai seguendo i miei post dai meno recenti in poi (come un libro) hai di certo creato il tuo primo progetto NetBeans denominato LocalHelloWorld. Iniziamo col chiarire come funziona una richiesta di un client (un browser web) per una pagina web del tipo http://localhost/LocalHelloWorld/index.php.
  1. Il client (browser web) lancia la sua richiesta al server (computer) sulla porta 80 (protocollo HTTP) per avere accesso al file index.php presente nella cartella LocalHelloWorld del server.
  2. La richiesta è intercettata dal Web Server Apache, in ascolto sulla porta 80, che rendendosi conto che è richiesto un file sorgente PHP, trasferisce tale richiesta al motore di scripting PHP per l'elaborazione.
  3. Il motore di scripting PHP accede al filesystem del computer e letto il file sorgente richiesto (index.php) ne esegue il contenuto.
  4. Da questo momento e fino al termine dell'esecuzione del contenuto del file index.php, a seconda delle istruzioni contenute ed eseguite, PHP ha accesso a risorse quali il filesystem del server, Basi Dati come MySQL, risorse di rete, ecc.. Durante tale esecuzione PHP produce dell'output (tipicamente codice HTML) che è restituito ad Apache.
  5. Apache, ottenuto l'output da motore di scripting PHP, provvede a inviarlo al client.

EasyPHP e Workbench: Apache e MySQL come servizi - Creare l'istanza DBA in Workbench

Workbench non crea l'istanza di
Server Administration se
MySQL non è un servizio
Per poter utilizzare MySQL Workbench come DBA (DB Administration) occorre che il server MySQL sia avviato come servizio, altrimenti Workbench non potrà creare una istanza dedicata a tale scopo. EasyPHP di default avvia il server MySQL come applicativo sul PC e non come servizio.

Anche Apache è avviato come semplice applicativo e ciò provoca alcuni problemi.
Abilitazione estensione PHP

martedì 10 aprile 2012

PHP & NetBeans: Creare un Progetto PHP con NetBeans su un Server Locale

Supponendo che l'ambiente locale di sviluppo sia stato installato come esposto nel post "Preparare Rapidamente l'Ambiente di Sviluppo", la creazione di nuovi progetti PHP in NetBeans è una attività che richiede pochi semplici passi:

Preliminarmente assicurati di aver avviato EasyPHP (Start|Tutti i programmi|EasyPHP 5.3.9|EasyPHP 5.3.9), con Apache e MySQL che mostrano un semaforo verde facendo doppio clic sulla "e" di EasyPHP presente nel vassoio di notifica. Avvia quindi NetBeans del menu Start|Tutti i programmi|NetBeans|NetBeans IDE 7.1.1. In NetBeans procedia come segue:

MySQL Workbench: lo strumento per Sviluppatori e Amministratori di DB

Pagina Web di MySQL Workbench
Workbench è un'ambiente integrato per la modellazione e progettazione di Database MySQL, lo sviluppo e test di query SQL, e per le attività di DB Administration.

Per avere MySQL Workbench sul proprio PC, andare alla pagina di Download, selezionare il proprio sistema operativo (nel mio caso Windows) e scaricare l'installazione MSI (Microsoft Installer). Se si desidera poter utilizzare MySQL Workbench, senza installarlo sul PC, scaricare la versione ZIP Archive. Scompattarla dove si desidera ed avviare workbench.exe

domenica 8 aprile 2012

PHP & NetBeans: Creare un Progetto PHP con NetBeans su Server Remoto come Altervista.org

E' stato discusso nel post "PHP & NetBeans: Preparare rapidamente l'ambiente di sviluppo" come preparare un ambiente di sviluppo sul proprio PC. In più abbiamo creato anche un primo progetto ponendolo in esecuzione. Ciò al fine di testare l'ambiente locale di sviluppo appena installato. A volte si potrebbe desiderare sviluppare direttamente su un server remoto. La soluzione è simpatica e comoda per chi fa piccoli lavori in solitaria e dispone di un collegamento flat.

giovedì 5 aprile 2012

PHP & NetBeans: Preparare rapidamente l'ambiente di sviluppo

Un metodo rapidissimo per preparare un ambiente di sviluppo per PHP, ovverosia che preveda le tre componenti base Apache, MySQL e PHP è senza ombra di dubbio quello di rivolgersi a pacchetti preconfezionati tipo XAMPP o EasyPHP. Ciò che però mi fa preferire EasyPHP è il suo essere già pronto ad un ambiente di sviluppo integrando Xdebug. E' quindi su EasyPHP che concentreremo l'attenzione.