Introduction à Constructor en PHP

Le constructeur est le concept PHP5 OOP (Object Oriented Programming). Le constructeur est associé aux classes que nous déclarons dans le programme. Le constructeur est appelé automatiquement lorsque l'objet de la classe est instancié, ainsi la définition du constructeur se présente comme suit: "Un constructeur est une méthode spéciale qui est appelée automatiquement lorsque l'objet de la classe est instancié". Dans cette rubrique, nous allons découvrir les constructeurs en PHP.

Syntaxe

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

Dans le morceau de code ci-dessus, le constructeur commence par un soulignement __ double suivi du mot-clé construct. Un constructeur sans __construct () ou dans le cas où le nom de la classe est changé, alors la méthode définie est juste une méthode et non un constructeur. Il est donc important de définir le constructeur dans une classe selon la syntaxe définie.

Types de constructeur

Voici quelques-uns des types de constructeur avec leur sortie donnée ci-dessous

1) Constructeur prédéfini

Pour clarifier le constructeur prédéfini, regardons un exemple donné ci-dessous

Exemple de constructeur prédéfini

<_?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();
?>

Production:

Dans l'exemple ci-dessus

Nous avons une classe Person, qui a deux méthodes, où une méthode CanSpeak () person et la méthode constructeur __construct (). Ensuite, nous avons instancié la classe en tant qu'objet $ p. En utilisant $ p, nous avons appelé la méthode normale. Dès que l'objet est créé, la méthode constructeur est appelée et l'instruction à l'intérieur de la méthode est exécutée, de même la méthode CanSpeak () qui est une méthode normale et non une méthode constructeur est appelée en utilisant le même objet $ p et l'instruction à l'intérieur cette méthode est exécutée. De plus, comme le constructeur défini ci-dessus n'a pas d'arguments, nous l'appellerons un constructeur à zéro argument ou un constructeur prédéfini.

2) Constructeur paramétré

Un constructeur peut être avec ou sans arguments. Le constructeur avec des arguments est appelé le constructeur paramétré et le constructeur sans arguments est appelé le constructeur à zéro argument. Voyons un exemple.

Exemple de constructeur paramétré

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();

Production:

Comment fonctionne le constructeur?

Jetons un coup d'œil au constructeur de la classe de base et à la classe dérivée qui étend la classe de base en utilisant le mot-clé extend qui a son propre constructeur à exécuter et le constructeur parent à exécuter également. Jusqu'à présent, nous n'avons appris que le constructeur déclaré dans une classe. Ajoutons ici plus de connaissances au constructeur. Avec l'exemple suivant, la classe de base Person a un constructeur, maintenant ce constructeur est appelé par la classe dérivée ou la sous-classe à l'aide du mot-clé parent et peut donc accéder au constructeur de la personne de la classe de base.

Le flux de sortie -

Tout d'abord, le constructeur Person est appelé, puis le constructeur Customer est appelé, qui appelle de nouveau en interne le constructeur Person, puis son propre constructeur customer et enfin la classe Employee qui étend la classe Person, ainsi le constructeur Person est à nouveau appelé.

Code

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();

Production:

Dans l'exemple ci-dessous, nous avons montré comment fonctionnent la méthode set et la méthode get. Utilisation du concept d'encapsulation dans la POO. Initialement, le programme est déclaré avec un constructeur, une méthode set_name et une méthode get_name. Notez que le constructeur est un constructeur paramétré qui est définitivement appelé lorsque la classe est instanciée et donc la première sortie est John Doe a ensuite créé un objet de la classe et a appelé les méthodes set_name et get_name qui impriment la sortie en tant qu'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();
?>

Production:

Le spécificateur d'accès-

Il existe trois spécificateurs d'accès en PHP

  • Publique
  • Protégé
  • Privé

Public: les membres de la classe déclarée publique sont accessibles partout.

Protégé: les membres de la classe déclarée protégée ne sont accessibles que dans la classe de base et la classe dérivée qui étend la classe de base.

Privé: les membres de la classe déclarée privée sont accessibles avec la classe qui la définit.

De plus, les variables déclarées sont appelées membres ou propriétés de données et les fonctions déclarées sont appelées comme méthodes de données. Dans l'exemple ci-dessous, nous avons déclaré la classe de base en tant que personne qui a les propriétés suivantes avec le nom public des spécificateurs d'accès, le courrier électronique protégé et le mobile privé. Maintenant, la classe est instanciée avec un objet $ p et ces trois propriétés accessibles à partir de l'objet. quelles sorties sont une erreur, pourquoi parce que la propriété protégée dit que les protégés ne sont accessibles que dans la classe de base et la classe dérivée qui étend la classe de 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;
?>

Production:

Conclusion

J'espère que cet article vous trouvera ce que vous cherchiez. L'article contient différents exemples à apprendre. Plus vous mettez les exemples en pratique, plus il deviendra facile à saisir.

Articles recommandés

Ceci est un guide du constructeur en PHP. Ici, nous avons discuté des types de constructeur et comment fonctionne le constructeur en PHP. Vous pouvez également consulter l'article suivant pour en savoir plus -

  1. Qu'est-ce que PHP?
  2. Fonctions de chaîne PHP
  3. Collections de Python
  4. Disposition en Java