Classi PHP: costrutti della programmazione orientata agli oggetti
Le classi PHP organizzano il codice in moduli logici indipendenti, ciascuno con caratteristiche e metodi specifici. Questo favorisce la gestione e il riutilizzo del codice in progetti complessi.
Cosa sono le classi PHP?
Le classi PHP sono come modelli o schemi usati per creare oggetti. In una classe vengono definite le caratteristiche (variabili o attributi) e i metodi (funzioni) da assegnare a un determinato oggetto. Le classi sono fondamentali nella programmazione orientata agli oggetti e possono essere combinate con altre funzioni PHP. È possibile creare classi anche per estrarre dati da un database MySQL.
Deploy Now di IONOS è l’hosting di ultima generazione per le tue applicazioni. Non solo ti garantisce un’affidabilità eccezionale, ma anche una serie di potenti funzionalità di automazione progettate per ottimizzare i tuoi progetti.
Come definire le classi PHP
Per definire una classe in PHP si inizia con la parola chiave class, seguita dal nome desiderato per la classe, racchiudendo il testo tra parentesi graffe. All’interno delle parentesi graffe possiamo definire le proprietà e i metodi della classe.
class Name {
// php class example properties and methods
}
phpDi seguito un esempio concreto:
class Animal {
// Properties
public $name;
public $color;
// Methods
function set_name($name) {
$this->name = $name;
}
function get_name() {
return $this->name;
}
}
phpLa classe “Animal” possiede due attributi, “name” e “color” insieme a due metodi, (set_name) per impostare il nome e (get_name) per recuperarlo.
Se desideri avvicinarti ai concetti della programmazione PHP, puoi consultare il tutorial PHP per principianti nella nostra Digital Guide. Inoltre, abbiamo messo a confronto i linguaggi PHP e Python e PHP e JavaScript, analizzandone i rispettivi vantaggi e svantaggi.
- Gestione record DNS
- Amministrazione SSL
- Documentazione API
Qual è la relazione fra classi e oggetti in PHP?
Gli oggetti sono istanze di una classe. Istanziando una classe si crea un oggetto che può accedere alle proprietà e ai metodi definiti nella classe stessa. I nuovi oggetti di una classe vengono istanziati utilizzando la parola chiave new.
class Animal {
// Properties
public $name;
public $color;
// Methods
function set_name($name) {
$this->name = $name;
}
function get_name() {
return $this->name;
}
}
$dog = new Animal();
$cat = new Animal();
$dog->set_name('Tom');
$cat->set_name('Mickey');
echo $dog->get_name();
echo "<br>";
echo $cat->get_name();
phpIn questo esempio “dog” e “cat” sono istanze della classe “Animal”, alle quali assegniamo un nome.
In aggiunta, le classi PHP possono essere ereditate, il che significa che è possibile creare una nuova classe derivandola da una già esistente. La classe figlio eredita tutte le proprietà e i metodi della classe padre, il che permette di riutilizzare e ampliare le varie funzioni. Allo stesso tempo gli oggetti della classe figlio sono istanze della classe base e possono accedere ai suoi metodi.
class Mammal extends Animal {
function breathesAir() {
echo "inhale";
}
}
$horse = new Mammal;
$horse->setName("Louis");
phpUtilizzando la parola chiave extends, la classe figlio “Mammals” eredita tutte le proprietà e i metodi dalla classe padre “Animal”. È possibile aggiungere nuove funzioni a “Mammal” ma allo stesso tempo accedere alle funzioni ereditate.
Esempi di utilizzo di classi PHP
Le classi PHP possono essere utilizzate in molti modi. Di seguito illustriamo alcuni esempi pratici.
PHP instanceof
In PHP, instanceof è un operatore che permette di verificare se un oggetto appartiene a una classe specifica o a una classe derivata da essa.
Di seguito un esempio di facile comprensione:
class Animal {
public function speak() {
echo "sound";
}
}
class Dog extends Animal {
public function speak() {
echo "bark";
}
}
$animal = new Dog();
if ($animal instanceof Animal) {
$animal->speak(); // Output: "bark"
}
phpAnzitutto, si utilizza l’operatore instanceof per verificare se la variabile $animal
è un’istanza della classe PHP “Animal” o di una delle sue classi figlie. Poiché $animal
è un’istanza della classe derivata “Dog” (ereditata da Animal), la condizione risulta vera e viene eseguito il codice all’interno del blocco “if”.
L’utilizzo dell’operatore instanceof
è particolarmente utile quando si desidera assicurarsi di poter accedere a metodi o proprietà specifici senza generare errori nel caso in cui l’oggetto non presenti la classe desiderata.
Classi e array PHP
Le classi possono essere salvate in array PHP. Questo consente di progettare strutture di dati complesse.
class Product {
public $name;
public $price;
public function __construct($name, $price) {
$this->name = $name;
$this->price = $price;
}
}
$products = [
new Product("Laptop", 800),
new Product("Smartphone", 400),
new Product("Tablet", 300)
];
foreach ($products as $product) {
echo "Product: " . $product->name . ", Price: $" . $product->price . “<br>";
}
phpIn questo esempio creiamo la classe “Product” per rappresentare diversi prodotti e successivamente li archiviamo nell’array “products”. Quindi possiamo utilizzare un meccanismo di foreach per sottoporre l’array a cicli PHP per visualizzare i nomi e i prezzi dei prodotti.
Costruttore di classi PHP
Il costruttore è un metodo PHP all’interno di una classe che viene richiamato automaticamente quando si crea un oggetto di quella classe. Il compito principale di un costruttore è inizializzare un oggetto o eseguire altre operazioni preparatorie necessarie per garantire che l’oggetto funzioni correttamente.
class Dog {
private $name;
private $color;
// Constructor
public function __construct($name, $color) {
$this->name = $name;
$this->color = $color;
}
public function sayHello() {
return "Hello, my name is {$this->name} and my color is {$this->color}.";
}
}
$dog = new Dog("Tom", "brown");
echo $dog->sayHello(); // Output: "Hello, my name is Tom and my color is brown."
phpArchivia i tuoi dati in tutta sicurezza sui nostri server, e proteggili dagli accessi non autorizzati.