lunedì 2 dicembre 2013

La OOP in PHP spiegata in un esempio - Parte 5 - Le Classi al Lavoro


Non resta che implementare una classe concreta per aAreaDiDisegno che chiameremo cAreaDiDisegnoHTML. Tale classe non deve fare altro che implementare il metodo output lasciato astratto dalla genitrice.

A tal fine, volendo implementare il sistema che faccia uso di un * per rappresentare un punto e il tag PRE per popolare l'area di disegno, potremo scrivere:

venerdì 29 novembre 2013

La OOP in PHP spiegata in un esempio - Parte 4 - Classi Astratte, Metodi Statici e Costrutto self::


A questo punto occorre definire la classe per l'area di disegno. Nel post precedente abbiamo accennato l'interfaccia per l'area di disegno con i metodi per tracciare i punti e i segmenti. Ma questi non completano l'interfaccia, infatti in fase di descrizione del problema è scritto "avremo bisogno di definire un'area di disegno all'interno della quale inserire le nostre figure, capace di operazioni base quali definire le proprie dimensioni, rappresentare un punto ed al più un segmento. Quindi produrre l'output html per la pagina web". Occorre procedere all'aggiunta dei metodi di accesso alle informazioni di dimensione dell'area di disegno (altezza e larghezza), e un metodo per la produzione dell'output finale.

giovedì 28 novembre 2013

La OOP in PHP spiegata in un esempio - Parte 3 - Interfacce predefinite e costrutto $this


Affrontate le classi più semplici, passiamo a quelle un po' meno banali. Nel primo post della seria abbiamo parlato di figure. Una figura deve essere rappresentata in un'area di disegno laddove un'area di disegno è in grado di rappresentare un punto e un segmento. Abbiamo quindi due oggetti in cui uno ha bisogno di un'altro per poter funzionare

Iniziamo con il dichiarare le interfacce di questi due elementi:

mercoledì 27 novembre 2013

La OOP in PHP spiegata in un esempio - Parte 2 - Le Interfacce

La classe cCoordinate

Ora che è stata realizzata la classe cColore procederemo con la classe cCoordinate. Questa classe è molto simile alla precedente e permette di memorizzare le coordinate sotto forma di coppia di valori x,y.

lunedì 25 novembre 2013

La OOP in PHP spiegata in un esempio - Parte 1 - Classi e Modificatori d'Accesso (private, protected e public)


Chi inizia a studiare la programmazione a oggetti si sente dire: la programmazione a oggetti consente di modellare elementi del mondo reale come oggetti software. Seguono immediatamente esempi di biciclette, cani, gatti e canarini.

Chi vuole imparare, non desidera favoleggiare su improbabili utilizzi di un paradigma ma piuttosto vedere calato in esempi, quanto più reali possibile, il paradigma oggetto di studio. Se poi all'esempio si affianca una spiegazione sulla programmazione a oggetti, forse otteniamo due risultati in un colpo solo. Per prima cosa è quindi bene effettuare un ripasso sui paradigmi di programmazione. E' un testo breve ma fornisce l'idea di cosa si vuole ottenere con l'introduzione di un nuovo paradigma di programmazione. Può quindi fornire informazioni base su quale strada percorrere, per non incappare nella tentazione di utilizzare un nuovo paradigma come se fosse quello da cui deriva.

martedì 28 maggio 2013

Caricare automaticamente i file contenenti le classi utilizzate dall'applicazione PHP

Qualunque progettino, che miri anche a tenere ordinato il codice, fa inevitabilmente uso delle include e delle require.   Queste due istruzioni fanno in modo che il codice presente in altri file sia incorporato nello script come se ne facesse parte integrale. In questo modo è possibile smembrare in più parti le componenti di uno script alleggerendo e rendendo più chiaro il contenuto di ogni singolo file. Di norma invocare include e require è la prima cosa che si fa, affinché sia possibile utilizzare elementi non direttamente presenti nel file senza ulteriori problemi.

giovedì 9 maggio 2013

PHP e stringhe con caratteri strani ossia il charset UTF-8 e dintorni nel PHP (Parte 4/4)


Il carattere sostitutivo UTF-8
per le codifiche errate
Ora che abbiamo conosciuto UTF-8, e visto come agisce tanto all'interno di semplici pagine HTML quanto all'interno di script PHP (quindi in un scambio dati tra Browser, Web Server, motore PHP), non resta che vedere come si comporta nello scambio dati tra PHP e MySQL.

Iniziamo con il chiarire alcuni concetti relativi a MySQL. Il DB utilizza per la memorizzazione dei testi un charset (il nostro UTF-8 ad esempio) atto ad individuare la codifica del testo, ed una collation (collazione in italiano) con cui si definiscono una serie di regole per il confronto dei caratteri nell'ambito del charset. Ciò al fine di stabilire quale carattere  precede un'altro nelle operazioni di ordinamento e ricerca con operatori di confronto. Ciò significa anche che il charset e la collazione sono legati fra di loro ossia stabilito il charset da utilizzare, si sceglie la collazione più idonea al proprio fra quelle disponibili per il charset scelto. Ad esempio MySQL mette a disposizione per UTF-8 diverse collazioni.

venerdì 26 aprile 2013

PHP e stringhe con caratteri strani ossia il charset UTF-8 e dintorni nel PHP (Parte 3/4)

Il carattere sostitutivo UTF-8
per le codifiche errate
Ora che abbiamo visto cos'è UTF-8, e come utilizzarlo all'interno dei nostri file html, è giunto il momento di vedere come si comporta PHP rispetto a tale codifica.

PHP ha una tipizzazione debole. Ciò significa che sebbene ci siano 8 tipi di dato primitivo, questi sono utilizzati in modo trasparente all'utente. In altre parole nella maggior parte dei casi è PHP che decide quale tipo utilizzare per una data variabile, convertendo automaticamente il tipo di una variabile in un altro secondo proprie regole interne. In talune circostanze tali conversioni automatiche possono spiazzare l'utente e portare a errori logici con risultati inattesi.

Fra i tipi primitivi abbiamo le stringhe. Ad esempio quando scriviamo

lunedì 22 aprile 2013

PHP e stringhe con caratteri strani ossia il charset UTF-8 e dintorni nel PHP (Parte 2/4)

Il carattere sostitutivo UTF-8
per le codifiche errate
Ora che abbiamo un'infarinata su UTF-8 grazie al post precedente, vediamo come questo charset agisce all'interno delle comuni pagine PHP a partire da quelle che non contengono script ma semplice codice HTML.

Si supponga di aprire Blocco Note di Windows per editare il nostro primo file HTML.

Dopo aver inserito gli elementi di base desidereremo salvare il nostro lavoro. Oggigiorno perfino Blocco Note, quando arriva il momento di salvare un file, ci permette di stabilire la codifica dei caratteri.

giovedì 18 aprile 2013

PHP e stringhe con caratteri strani ossia il charset UTF-8 e dintorni nel PHP (Parte 1/4)

Il carattere sostitutivo UTF-8
per le codifiche errate
Quante volte capita di vedere nei propri progettini PHP il carattere  nell'immagine qui accanto? Oppure dei caratteri accentati che nulla hanno a che vedere con le stringhe che ci si aspetta di visualizzare?

Di norma è solo un problema di charset. Già ma cos'è un charset?

Ogni carattere presente sullo schermo ha necessità di essere rappresentato nel computer sotto forma di una sequenza di bit. Se si pensasse ad un carattere, o glifo inteso come rappresentazione grafica di un elemento, come un disegno inserito in una matrice di punti 8x8, avremmo che ogni carattere è composto da 64 punti per ognuno dei quali dovremmo indicare se acceso o spento (0 o 1 ossia 1 bit). Ogni carattere sarebbe rappresentato da 8 byte. Un'enormità per un solo carattere! La cosa è ben peggiore se si considera che i font attualmente utilizzati dai PC di tipo true type, sono disegnati tramite una breve sequenza d'istruzioni che descrivono il carattere stesso permettendone il disegno a diverse dimensioni senza perdere in definizione.