Creare Classi



Come abbiamo visto nella lezione precedente, tramite il modello orientato agli oggetti è possibile centralizzare più funzionalità all'interno di un'unica postazione. Questa postazione prende il nome di classe. Una classe è una sorta di "involucro" che racchiude variabili e funzioni che condividono funzionalità e risorse, che rimangono in attesa di essere utilizzate tramite le istanze della classe stessa. In PHP una classe è dichiarata tramite la keyword class seguita dal nome della classe e dall'implementazione della stessa racchiusa tra parentesi graffe:

class MyClass {

        // implementazione della classe MyClass...

}
Una volta dichiarata la classe, possiamo passare all'inserimento delle funzionalità, tramite la dichiarazione di variabili e funzioni. Nello snippet successivo verrà utilizzata la parola chiave public che precede le varie componenti della classe: per ora basta sapere che questa keyword è necessaria ai fini della corretta compilazione dello script, proprio come nel caso di class o function.
class MyClass {

        // variabili membro
        public $a = 10;
        public $b = 20;
        
        // funzioni
        public function sayHello() {
                echo "Hello!";
        }

}

Ora che abbiamo creato le funzionalità della nostra classe, ci occorre un modo per richiamarle: questo diventa possibile tramite le istanze della classe (o oggetti). Per dichiarare un'istanza si usa l'operatore new seguito dal nome della classe ed opzionalmente da una lista di parametri richiesti dalla funzione costruttore (che studieremo tra qualche lezione). Nel nostro caso non abbiamo il costruttore, dunque la creazione di un'istanza avviene nel seguente modo:

$myClass_1 = new MyClass();

// stampa "Hello!"
$myClass_1->sayHello();

// stampa 10
echo $myClass_1->a;

Ovviamente, per ogni classe possono essere istanziati un numero illimitato di oggetti, ognuno con i propri parametri impostati al valore definito dalla classe nella sua dichiarazione iniziale:

$myClass_2 = new MyClass();

// ora la proprietà "a" dell'oggetto $myClass_2 è impostata a 20
$myClass_2->a = 20;

// stampa 10
echo $myClass_1->a;

Ultimi articoli PHP

Sessioni PHP: cosa sono, come si usano

Dalla configurazione di PHP, alla gestione delle sessioni in un...

Continuous Integration: automatizziamo i client con Phing

Continuous Integration: automatizziamo i client con Phing. Esempi...

Archiviazione delle applicazioni PHP con Phar

Come incorporare intere applicazioni PHP all'interno di un singolo...

I traits in PHP 5.4

Cosa sono, a cosa servono e come si unsano i traits, la novità per...

PHP 5.4: il web server integrato

Impara ad usare il web server integrato nella versione 5.4 di PHP:...

Altri articoli

Guide PHP

Guida Yii Framework

Come creare applicazioni Web in modo semplice e veloce con il...

Guida Applicazioni Facebook con PHP

Come realizzare un'applicazione per Facebook. Dalle basi della...

Guida PHP con Windows e IIS

Installare ambienti per lo sviluppo e la produzione di applicazioni...

Altre guide

Newsletter @PHP

Ogni lunedì, direttamente nella tua e-mail: script, articoli, guide e tutorial su PHP, MySQL e Apache.

Iscriviti alla newsletter

Altre newsletter

Corsi in aula

Corso PHP per Webmaster

11 Giugno 2012 a Milano
Disponibilità: 7 Posti

Corso Google AdWords Base

25 Giugno 2012 a Milano
Disponibilità: 7 Posti

Corso Google AdWords Base

05 Giugno 2012 a Roma
Disponibilità: 7 Posti