Introduzione al costruttore in PHP

Il costruttore è il concetto PHP5 OOP (Object Oriented Programming). Il costruttore è associato alle classi che dichiariamo nel programma. Il costruttore viene chiamato automaticamente quando viene istanziato l'oggetto della classe, quindi la definizione di costruttore va così: "Un costruttore è un metodo speciale che viene chiamato automaticamente quando viene istanziato l'oggetto della classe". In questo argomento, impareremo a conoscere i costruttori in PHP.

Sintassi

<_?php
Class Classname (
//constructor
function __construct() (
//statements
)
)
?>

Nel pezzo di codice sopra, il costruttore inizia con un doppio trattino basso __ seguito dalla parola chiave costrutto. Un costruttore senza __construct () o nel caso in cui il nome della classe venga modificato, il metodo definito è solo un metodo e non un costruttore. Pertanto, è importante definire il costruttore in una classe secondo la sintassi definita.

Tipi di costruttore

Ecco alcuni dei tipi di costruttore con il loro output indicato di seguito

1) Costruttore predefinito

Per chiarire il costruttore predefinito, esaminiamo un esempio riportato di seguito

Esempio di costruttore predefinito

<_?php
class Person (
function CanSpeak() (
echo " Not a constructor method " . '
';
)
function __construct() (
echo " In the constructor method " . '
';
)
)
//Object of class calling the constructor internally
$p = new Person();
// Object of class calling the normal method
$p->CanSpeak();
?>

Produzione:

Nell'esempio sopra

Abbiamo una classe Person, che ha due metodi, in cui una persona CanSpeak () Method e il metodo di costruzione __construct (). Successivamente, abbiamo istanziato la classe come oggetto $ p. Usando $ p abbiamo chiamato il metodo normale. Non appena viene creato l'oggetto, viene chiamato il metodo di costruzione e viene eseguita l'istruzione all'interno del metodo, allo stesso modo ulteriormente il metodo CanSpeak () che è un metodo normale e non un metodo di costruzione viene chiamato utilizzando lo stesso oggetto $ p e l'istruzione all'interno quel metodo viene eseguito. Inoltre, poiché il costruttore definito sopra non ha alcun argomento, lo chiameremo un costruttore a argomento zero o un costruttore predefinito.

2) Costruttore parametrizzato

Un costruttore può essere con o senza argomenti. Il costruttore con argomenti è chiamato costruttore con parametri e il costruttore senza argomenti è chiamato costruttore con argomento zero. Vediamo un esempio.

Esempio di costruttore con parametri

class Person (
private $first;
private $email;
private $mobile;
public function __construct($name, $email, $mobile) (
echo "Initialising the object…
";
$this->name = $name;
$this->email = $email;
$this->mobile = $mobile;
)
public function showProfile() (
echo "My name is: " . $this->name. " " . $this->email. " " . $this->mobile;
)
)
$john = new Person("John", " ", "9187986786");
$john->showProfile();

Produzione:

Come funziona il costruttore?

Diamo un'occhiata al costruttore della classe base e alla classe derivata che estende la classe base usando la parola chiave extends che ha il proprio costruttore da eseguire e anche il costruttore principale da eseguire. Fino ad ora abbiamo appreso solo del costruttore dichiarato in una classe. Aggiungiamo un po 'più di conoscenza al costruttore qui. Con il seguente esempio, la persona di classe base ha un costruttore, ora questo costruttore viene chiamato dalla classe derivata o dalla sottoclasse usando la parola chiave parent e quindi può accedere al costruttore della persona della classe base.

Il flusso di uscita -

Innanzitutto viene chiamato il costruttore Person, quindi viene chiamato il costruttore Customer che chiama nuovamente il costruttore Person e quindi il proprio costruttore cliente e infine la classe Employee che estende la classe Person, quindi viene chiamato nuovamente il costruttore Person.

Codice

class Person (
function __construct() (
echo "In Person constructor"."
";
)
)
class Customer extends Person (
function __construct() (
parent::__construct();
echo "In Customer constructor"."
";
)
)
class Employee extends Person (
// inherits Person's constructor
)
// In Person constructor
$p = new Person();
// In Person constructor
// In Customer constructor
$c = new Customer();
// In Employee constructor
$e = new Employee();

Produzione:

Nell'esempio seguente abbiamo mostrato come funzionano il metodo set e il metodo get. Utilizzando il concetto di incapsulamento in OOP. Inizialmente, il programma viene dichiarato con un costruttore, un metodo set_name e un metodo get_name. Si noti che il costruttore è un costruttore parametrizzato che viene sicuramente chiamato quando la classe viene istanziata e quindi il primo output è John Doe quindi ha creato un oggetto della classe e ha chiamato i metodi set_name e get_name che stampano l'output come Alice.

<_?php
class Person (
public $name;
function __construct($name) (
echo $this->name = $name;
)
function set_name($name) (
$this->name = $name;
)
function get_name() (
echo $this->name;
)
)
// In Person constructor
$p = new Person('John Doe');
echo "\n";
$p->set_name('Alice');
$p->get_name();
?>

Produzione:

The Access Specifier-

Esistono tre identificatori di accesso in PHP

  • Pubblico
  • protetta
  • Privato

Pubblico: i membri della classe dichiarati pubblici sono accessibili ovunque.

Protetto: i membri della classe dichiarata protetta sono accessibili solo all'interno della classe base e della classe derivata che estende la classe base.

Privato: i membri della classe dichiarati come privati ​​sono accessibili con la classe che lo definisce.

Inoltre, le variabili dichiarate sono chiamate membri o proprietà dei dati e le funzioni dichiarate sono chiamate come metodi di dati. Nell'esempio seguente abbiamo Classe base dichiarata come Persona che ha le seguenti proprietà insieme agli identificatori di accesso nome pubblico, email protetta e cellulare privato. Ora la classe viene istanziata con un oggetto $ p e queste tre proprietà a cui si accede dall'oggetto. quali output sono un errore, perché perché la proprietà protetta dice che sono protetti solo all'interno della classe base e della classe derivata che estende la classe base?

<_?php
class Person (
public $name=;
protected $email;
private $mobile;
function __construct() (
print "In Person constructor";
)
)
// In Person constructor
$p = new Person();
echo $p->name;
echo $p->email;
echo $p->mobile;
?>

Produzione:

Conclusione

Spero che questo articolo ti trovi quello che stavi cercando. L'articolo contiene diversi esempi da imparare. Più metti in pratica gli esempi, più facile sarà capire.

Articoli consigliati

Questa è una guida per Costruttore in PHP. Qui abbiamo discusso i tipi di costruttore e come funziona il costruttore in PHP. Puoi anche leggere il seguente articolo per saperne di più -

  1. Che cos'è PHP?
  2. Funzioni stringa PHP
  3. Collezioni Python
  4. Layout in Java

Categoria: