Logo - Pintako

PHP - Classi e Sintassi

Gli oggetti classe in PHP aiutano lo sviluppo e l'ordinamento degli script secondo uno specifico utilizzo. 

Ad esempio se volessimo realizzare una collezione di funzioni dedicate all'interazione con le stringe o a delle funzioni matematiche complesse, o per un qualunque altro scopo con l'utilizzo di questi oggetti la scrittura del codice diverrà molto più lineare e semplice da replicare ed esportare.

 

Una classe in PHP segue sempre una definizioni di base data dalla parola chiave class, seguita da una che può essere qualsiasi etichetta valida (purché non sia una parola riservata già utilizzata dal linguaggio), un etichetta valida inizia con una lettera o con il carattere "_", seguito da un numero qualsiasi di lettere, numeri o underscore.

 

<?php
class example_class
{
    // property declaration
    public $var = 'a default value';

    // method declaration
    public function init() {
        echo $this->var;
    }
}
?>

 

Come possiamo vedere dall'esempio si inizia con la dichiarazione <?php seguita dalla parola riservata class, in questo esempio la classe prenderà il nome di example_class quindi in seguito per accedere ai metodi e proprietà sarà necessario utilizzare questo nome.

 

Metodi e Proprietà

I metodi e le proprietà sono gli elementi basilari per la costruzione di un oggetto classe, queste permetto di realizzare script più o meno complessi, dopo aver inserito tutti gli elementi e configurato l'oggetto per l'utilizzo sarà necessario utilizzare il comando new che creerà un istanza attiva della classe, questo ci permetterà di accedere ai metodi e proprietà creati

 

Proprietà
Le variabili presenti all'interno di una class sono chiamate proprietà (property), e possibile registrarvi stringe, numeri, oggetti, o valori null. Possiamo immaginarli come dei cassetti con etichette, pronte a soddisfare con il loro contenuto ogni richiesta effettuata, per utilizzare queste proprietà sarà necessario utilizzare il comando interno class $this che mette in comunicazione tutte le risorse presenti in un istanza di classe non statica (vedremo poi cosa sono e come utilizzare le proprietà e metodi statici).

 

Metodi
I metodi sono tutte quelle funzioni presenti all'interno di un istanza class, eseguono script, valorizzano le proprietà dell'istanza, restituiscono valori o eseguono delle routine.

 

Attributi di proprietà

All'interno dell'istanza class i metodi e proprietà assumo dei criteri di proprietà quali public, protected, private analizziamo nel dettaglio questi attributi:

 

- Public
L'attributo pubblico permette la visibilità del metodo/proprietà all'interno e all'esterno della classe, per tanto un metodo segnato come public potrà essere richiamato ed eseguito da script esterni alla classe.

 

- Protected
L'attributo protected permette la visibilità del metodo/proprietà solo all'interno della classe stessa e di quelle che la estendono, per tanto i metodi e proprietà segnati con questo attributo non potranno essere richiamati da uno script esterno.

 

- Private
L'attributo private permette L'attributo protected permette la visibilità del metodo/proprietà solo all'interno della classe stessa, per tanto i metodi e proprietà segnati con questo attributo non potranno essere richiamati da uno script esterno, ne uno di estensione.

 

Vediamo un esempio d'utilizzo di questi attributi:

<?php
class example_class
{
private $pvt_uuid = '00000001263';
protected $pt_version = '1.0';
public $device_name = 'Device Test';
}

$Example_Class = new example_class();

// output: errore
echo $Example_Class->pvt_uuid;

// output: errore
echo $Example_Class->pt_version;

// output: Device Test
echo $Example_Class->device_name ;
?>

 

PHP ha come particolarità l'utilizzo del simbolo per tutte quelle che sono le variabili che vengono create, per tanto tutte le variabili e proprietà dovranno iniziare con il simbolo $, il mancato utilizzo di questo carattere genererà un errore di tipo critico che interromperà l'esecuzione dello script.

 

Nel prossimo articolo tratteremo le funzioni Costruttori, Distruttori e i Magic Methods