Constructeur en PHP

王林
王林original
2024-08-29 12:42:061019parcourir

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é, donc la définition du constructeur est la suivante : « 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.

PUBLICITÉ Cours populaire dans cette catégorie DEVELOPPEUR PHP - Spécialisation | Série de 8 cours | 3 tests simulés

Commencez votre cours de développement de logiciels libres

Développement Web, langages de programmation, tests de logiciels et autres

Syntaxe

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

Dans le morceau de code ci-dessus, le constructeur commence par un double trait de soulignement __ suivi du mot-clé construct. Un constructeur sans __construct() ou si le nom de la classe est modifié, alors la méthode définie est simplement 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 types de constructeurs avec leur résultat 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

Code :

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

Sortie :

Constructeur en PHP

Dans l'exemple ci-dessus

Nous avons une classe Person, qui a deux méthodes, où une méthode personne CanSpeak() 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 aucun argument, nous l'appellerons un constructeur sans argument ou un constructeur prédéfini.

2) Constructeur paramétré

Un constructeur peut être avec ou sans arguments. Le constructeur avec arguments est appelé constructeur paramétré et le constructeur sans arguments est appelé constructeur sans argument. Regardons un exemple.

Exemple de constructeur paramétré

Code :

class Person {
private $first;
private $email;
private $mobile;
public function __construct($name, $email, $mobile) {
echo "Initialising the object...<br/>";
$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","[email protected]", "9187986786");
$john->showProfile();

Sortie :

Constructeur en PHP

Comment fonctionne le constructeur ?

Jetons un coup d'œil au constructeur de classe de base et à la classe dérivée qui étend la classe de base en utilisant le mot-clé extends 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 quelques connaissances supplémentaires 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 en utilisant le mot-clé parent et peut ainsi accéder au constructeur de la classe de base Person.

Le flux de sortie

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

Code :

class Person {
function __construct() {
echo "In Person constructor"."<br>";
}
}
class Customer extends Person  {
function __construct() {
parent::__construct();
echo "In Customer constructor"."<br>";
}
}
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();

Sortie :

Constructeur en PHP

Dans l'exemple ci-dessous, nous avons montré comment fonctionnent les méthodes set et get. Utilisation du concept d'encapsulation en 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 que John Doe a ensuite créé un objet de la classe et appelé les méthodes set_name et get_name qui impriment la sortie sous la forme d'Alice.

Code :

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

Sortie :

Constructeur en PHP

Le spécificateur d'accès

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

  • Public
  • Protégé
  • Privé

Public : Les membres de la classe déclarés publics sont accessibles partout.

Protected: Members of the class declared as protected are accessible only within the base class and the derived class which extends the base class.

Private: Members of the class declared as private are accessible with the class that defines it.

Also, the variables declared are called data members or properties and the functions declared are called as data methods. In the below example we have Base Class declared as Person which has the following properties along with the access specifiers public name, protected email and private mobile. Now the class is instantiated with an object $p and these three properties which are accessed from the object. which outputs are an error, why because, the protected property says that protected are accessible only within the base class and the derived class which extends the base class?

Code:

<?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;
?>

Output:

Constructeur en PHP

Conclusion

Hope this article finds you what you have been searching for. The article has different examples for you to learn. The more you put the examples in practice the easier it will become to grasp.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Article précédent:Boucle Foreach en PHPArticle suivant:Boucle Foreach en PHP