OOP in PHP – Introduzione alla classe e agli oggetti

O
Regex in PHP
Costruttore e distruttore in PHP

Nei tutorial precedenti, abbiamo usato le funzioni per scrivere script PHP. Pertanto, si chiama programmazione strutturale. Tuttavia, la programmazione strutturale diventa più disordinata e difficile da comprendere e gestire con l'aumento delle dimensioni dell'applicazione o del progetto. Ora stiamo iniziando la programmazione orientata agli oggetti- OOP in PHP che fa uso di classi e oggetti.

Che cos'è la programmazione orientata agli oggetti - OOP in PHP

OOP è l'abbreviazione di programmazione orientata agli oggetti. Come suggerisce il nome, contiene oggetti che contengono sia i dati che le proprietà.

Dipende dai requisiti per selezionare dall'OOP in PHP o dalla programmazione strutturale in PHP. Tuttavia, nella maggior parte dei casi, l'OOP supera la programmazione strutturale. Di seguito sono riportati i motivi per cui l'OOP in PHP è più vantaggioso.

  • L'OOP è più facile da capire e più veloce da eseguire.
  • Il codice diventa in una struttura che lo rende capace di moodify facilmente.
  • Usando OOP in PHP, possiamo evitare ripetizioni di codice.
  • Seguendo i principi OOP standard, possiamo sviluppare applicazioni sia su piccola scala che su larga scala. Impareremo queste caratteristiche standard nei prossimi tutorial.

Che cos'è una classe in OOP?

Una classe è il punto di partenza principale dell'OOP in PHP. Una classe contiene gli attributi, le funzioni e le specifiche. Ad esempio, guarda i seguenti esempi per immaginare di cosa tratta effettivamente una classe.

  • Una classe di animali da compagnia
  • Una classe di automobili

Come nelle classi precedenti, abbiamo classificato gli animali nella classe Animale e le auto nella classe Auto. Questa classe contiene attributi e funzioni, di cui parleremo più avanti nell'articolo.

Cosa sono gli oggetti in OOP?

Gli oggetti sono istanze della classe che contiene o riflette le sue proprietà. Possono esserci più oggetti di una classe che riflettono le stesse proprietà della sua classe. Tuttavia, ogni oggetto può avere valori diversi per le proprietà della sua classe.

Nell'esempio sopra della classe di animali da compagnia e auto, possiamo avere i seguenti oggetti.

  • Oggetto di classe animali da compagnia contenenti cane e gatto.
  • Allo stesso modo, oggetto di classe Auto contenenti Honda e Toyota.

Nota: un oggetto eredita tutte le proprietà della sua classe.

Come creare una classe in PHP OOP?

La parola chiave class viene utilizzata per dichiarare una classe in PHP. Il nome della classe viene dopo questa parola chiave e si consiglia di iniziare il nome della classe con una lettera maiuscola. Ad esempio, creiamo una classe di animali da compagnia in PHP.

<?php
class Pets {
  // code
}
?>

Ora abbiamo una classe Pets, che non contiene funzioni, attributi o codice. Nel prossimo esempio, riempiremo la classe PHP con alcune funzioni. Diciamo che abbiamo il nome dell'animale domestico e il suo colore.

<?php
class Pets {

  // Properties

  public $nick_name;
  public $color;

  // functions
  function set_nick_name($name) {
    $this->nick_name = $name;
  }

  function get_nick_name() {
    return $this->nick_name;
  }
}
?>

Nota: le variabili nella classe sono anche conosciute come attributi e funzionano come metodi.

Come creare un oggetto di classe in PHP?

Per creare un nuovo oggetto in PHP, usa nuovi parola chiave e scrivi il nome dell'oggetto dopo la parola chiave. Guarda l'esempio seguente, in cui creiamo due oggetti della classe Pets.

<?php
class Pets {
  // Properties
  public $nick_name;
  public $color;

  // Methods
  function set_name($name) {
    $this->nick_name = $name;
  }
  function get_name() {
    return $this->nick_name;
  }
}

$cat = new Pets();
$dog = new Pets();

$cat->set_name('yii');
$dog->set_name('hop');

echo $cat->get_name();
echo "<br>";
echo $dog->get_name();
?>
  • Nell'esempio sopra, includiamo due metodi per impostare e ottenere il nome dell'animale.
  • Usiamo il nuovi parola chiave per creare due oggetti $gatto e $cane.
  • Chiama il metodo set_name usando entrambi gli oggetti.
  • Ora, entrambi gli oggetti hanno la propria proprietà di nick name.

Ora, nell'esempio sopra, aggiungeremo altre due funzioni che imposteranno e otterranno la proprietà del colore dell'animale domestico.



<?php
class Pets {
  // Properties
  public $nick_name;
  public $color;

  // Methods
  function set_name($name) {
    $this->nick_name = $name;
  }
  function get_name() {
    return $this->nick_name;
  }
  function set_color($color) {
    $this->color = $color;
  }
  function get_color() {
    return $this->color;
  }
}

$cat = new Pets();
$dog = new Pets();

$cat->set_name('yii');
$dog->set_name('hop');

$cat->set_color('brown');
$dog->set_color('white');

echo $cat->get_name();
echo $cat->get_color();

echo $dog->get_name();
echo $dog->get_color();
?>

  • Nell'esempio sopra, includiamo due metodi aggiuntivi per impostare e ottenere il colore dell'animale.
  • Usiamo il nuovi parola chiave per creare due neobject $cat e $dog.
  • Chiama il set_name e imposta i metodi di colore per entrambi gli oggetti.
  • Ora, entrambi gli oggetti hanno la propria proprietà di soprannome e colore.
  • Chiamiamo il metodo get utilizzando entrambi gli oggetti. Verrà visualizzato il nome e il colore di entrambi gli animali domestici.

Cos'è $questa parola chiave in PHP OOP?

$ This la parola chiave si riferisce all'oggetto corrente in PHP OOP. La parola chiave può essere utilizzata per impostare il valore per l'oggetto corrente o per ottenere il valore.

Esistono due metodi per aggiornare il valore di attributi di classe.

  1. Usando $questa parola chiave
  2. Imposta il valore direttamente utilizzando object.

Guarda il seguente esempio, in cui usiamo $questa parola chiave all'interno della funzione per impostare il valore del colore dell'animale domestico.



<?php
class Pets {

  // Properties

  public $nick_name;
  public $color;

  // functions
  function set_nick_name($name) {
    $this->nick_name = $name;
  }

  function get_nick_name() {
    return $this->nick_name;
  }
}
?>

Assicurati, nell'esempio sopra, che il nick_name sarà impostato per l'oggetto che chiama questa funzione. Nel prossimo esempio, imposteremo il nickname senza usare la parola chiave $this.

<?php
class Pets {
  public $color;
}
$cat = new Pet();
$cat->name = "brown";

echo $cat->color;
?>

Funzione PHP instanceOf

È possibile utilizzare la funzione PHP instanceOf per verificare la classe dell'oggetto a cui appartiene.

<?php
$dog = new Pet();
var_dump($dog instanceof Pet);
?>

Puoi fare riferimento all'articolo ufficiale di classi e oggetti di PHP 8 per saperne di più, clicca qui.

Regex in PHP
Costruttore e distruttore in PHP

Aggiungi un commento

Rete di tutor

Condividi questo

Impara PHP dalla A alla Z