Monthly Archives: luglio 2013

PHP OOP – Lezione 1

Chi segue lo sviluppo di PHP saprà certamente come con le recenti versioni quest’ultimo si sia evoluto a tutti gli effetti in un linguaggio OOP. Chi invece non avesse mai sentito parlare di OOP, potrà puntare a migliorare il proprio stile di programmazione grazie alla lettura di questo articolo. OOP, questo misterioso acronimo, sta per Object Oriented Programming, e costituisce, come lo stile Procedurale, un paradigma, o stile fondamentale di programmazione. Lo stile OOP differisce dal procedurale in quanto si basa sulla modellizzazione della struttura del programma in “oggetti” e sul rispetto (solitamente) del modello MVC.

Dopo questa breve premessa passiamo ora ad elencare alcuni concetti chiave di questo nuovo stile di programmazione PHP.
Qualsiasi oggetto in OOP è istanza di una classe, dove per istanza si intende che appartiene ed è generato da essa.
Una classe è un tipo di dato al cui interno è possibile definire la struttura degli oggetti che si vuole descrivere e classificare. Tale struttura è realizzata per mezzo delle classiche variabili e funzioni, che qui vengono definite con il termine di proprietà e metodi.
Le propietà servono a specificare le caratteristiche dell’oggetto, mentre i metodi le operazioni effettuabili su di esso.
Da una classe si possono istanziare un numero illimitato di oggetti, oggetti di classi diverse avranno una struttura diversa.

Facciamo un esempio. Il progetto tecnico per la realizzazione di un moderno modello di cellulare può essere visto come una classe, ovvero come l’astrazione di quell’oggetto. Questo diventa “reale” quando viene prodotto in catena di montaggio, ovvero istanziato, in un numero variabile di unità. Da un diverso progetto per un diverso modello di cellulare, avranno origine oggetti con caratteristiche differenti da quelli del primo progetto. Proprietà del primo modello di cellulare saranno il colore, le dimensioni, la durata della batteria ecc. I metodi saranno le operazioni effettuabili con esso, quale chiamare un numero, utilizzare la calcolatrice e altro. Proprietà del secondo modello di cellulare saranno sempre il colore, le dimensioni, la durata della batteria, ma con diverse specifiche (durata della batteria più lunga, dimensioni più ridotte e via così); magari ne saranno previste altre, come la presenza di una fotocamera. I metodi, le operazioni effettuabili potranno differire dal primo modello, avremo ad esempio funzioni di chiamata con riconoscimento vocale, utilizzo della fotocamera ecc..

Se siete riusciti a capire questi concetti fondamentali siete già a buon punto per provare a realizzare il vostro primo script php in OOP, sfida che affronteremo insieme nel prossimo articolo ! 😉

Illogicismi CSS2 – “margin: auto”

A volte con i CSS si pensa di poter fare delle cose in maniera semplice e diretta quando invece non è così. Prendiamo il seguente caso, si vuole centrare un div (div2) dentro un altro div (div1) utilizzando la proprietà margin:auto. Questo verrà sì centrato orizzontalmente ma non verrà centrato verticalmente. Per far sì che venga centrato anche verticalmente si dovrà rinunciare all’utilizzo del margin:auto e ricorrere al seguente espediente.

schema

div2 {
 position: absolute; /* ricordarsi di settare il div1 con position: relative */
 top: 50%;
 margin-top: -y px; /* dove y = altezza del div2/2 */
 left: 50%;
 margin-left: -x px; /* dove x = larghezza del div2/2 */
 ...
}

In questo modo avremo il nostro div perfettamente centrato. 😉

Comandi jQuery utili: Azione “data”

Se doveste ritrovarvi nella situazione di dover memorizzare in qualche modo, durante l’esecuzione di un vostro script jQuery, delle informazioni a breve termine, ovvero che abbiano come ciclo di vita unicamente la durata dell’esecuzione dello script, potete usare l’azione data. Tale comando vi permette di utilizzare qualsiasi elemento della pagina HTML che state manipolando come una sorta di contenitore per i vostri dati. Basterà quindi, una volta selezionato l’elemento dai voi scelto, chiamare l’azione data specificando due paramentri. Il primo utile per assegnare un identificativo (un nome) all’elemento scelto (niente che abbia a che fare con l’id css) e il secondo per passare il valore da archiviare. Per recuperare i dati quindi si passerà solo il primo parametro, ovvero il nome dell’elemento dati. A seguire un esempio.

 // scrittura
 $(div).data('mydata', 5);
 // lettura
 var value = $(div).data('mydata');

Proprietà CSS utili: “word-break”

Quando vi ritrovate a dover fare in modo che il testo inserito dentro un elemento con determinate dimesioni non esca fuori dal suo contenitore, potete utilizzare oltre alla proprietà css overflow la proprietà word-break. Quest’ultima farà in modo che il testo inserito vada a capo una volta raggiunto il limite della larghezza del contenitore ! Come valore dovrete assegnare break-all. Ovviamente l’altezza del contenitore non dovrà essere fissa, ma impostata su “auto”, o meglio ancora tramite la proprietà min-height su un valore a vostra scelta. A seguire un esempio;

div {
 word-break: break-all;
 ...
}