Concepts OOPS en PHP | Programmation orientée objet en PHP

Publié: 2020-12-14

PHP est une plate-forme flexible en termes d'accès aux fonctions et variables membres. La POO en PHP fait allusion à un style de programmation associant la classe, des objets et divers composants.

PHP est un langage de programmation côté serveur utilisé pour le développement Web. La programmation orientée objet en PHP aide les développeurs à créer des applications Web réutilisables et complexes. La programmation orientée objet est un style de programmation qui fait référence à l'association de divers composants et s'articule autour des concepts d'héritage, de polymorphisme, d'encapsulation et d'abstraction.

La POO est programmée de manière à ce que les utilisateurs puissent se concentrer sur l'objet tout en développant le programme et le code, mais pas sur la procédure. La POO se concentre également sur le dessin d'une programmation proche de la vie réelle. Dans cet article, nous allons explorer certains des concepts fondamentaux de la POO en PHP.

Table des matières

Principaux concepts OOPS en PHP

PHP est un langage de programmation orienté objet qui prend en charge plusieurs concepts. Certains d'entre eux sont les suivants :

Classe et objets – La classe est un type de données défini par le programmeur, comprenant des variables locales et des méthodes locales. C'est aussi une collection d'objets, alors que les objets ont des propriétés et des comportements similaires. Une seule instance de Structure de Données définie par la classe est un objet. La classe est générique et l'objet est spécifique. Les développeurs peuvent instancier l'objet mais pas une classe, et un objet est une instance d'une classe.

Interfaces - L'interface en PHP est une description des actions que les objets peuvent effectuer. Il est écrit de la même manière que la classe est déclarée avec chaque mot-clé d'interface. Les méthodes déclarées dans une interface sont publiques et peuvent être étendues comme des classes avec le même opérateur d'extension.

Abstraction - L' abstraction est un concept qui consiste à déplacer l'attention des détails de programmation et de la mise en œuvre concrète des choses vers leurs types et la disponibilité des opérations. L'abstraction rend la programmation facile et générale pour le développeur, et cela revient plus à généraliser la spécification.

Constructeur - C'est une fonction spéciale qui est appelée automatiquement chaque fois qu'il y a une formation d'objet à partir de la classe.

Destructor - C'est une fonction spéciale qui est appelée automatiquement chaque fois que l'objet est supprimé ou quitte la portée.

Surcharge - Il s'agit d'un type spécial de polymorphisme dans lequel tous ou quelques opérateurs ont différentes implémentations en fonction du type d'argument. Les mêmes fonctions peuvent être surchargées avec plusieurs implémentations.

Lire : Idées et sujets de projets PHP

Principes et concept OOPS en PHP

Les principaux principes de programmation orientée objet en PHP sont les suivants :

Encapsulation - Ce concept met en évidence les propriétés de liaison, les méthodes et masque les détails d'implémentation. L'objectif principal de l'encapsulation est de limiter les complications lors du développement logiciel, et cela simplifie également l'utilisation des objets de classe. Il protège également l'état interne de l'objet et facilite son entretien.

Héritage - Ce concept est aligné sur l'association entre les classes et met en évidence la relation entre une classe enfant et une classe parent. En outre, l'enfant utilise des méthodes définies par le parent.

La fonction principale de l'héritage est la réutilisabilité, ce qui est extrêmement utile lorsque les développeurs doivent proposer des fonctions de base telles que la mise à jour, l'ajout ou la suppression de composants de données de la base de données. L'héritage est segmenté en héritage à un seul niveau et en héritage à plusieurs niveaux.

Polymorphisme - Le terme fait référence à l'utilisation d'une instance individuelle sous plusieurs modes de mise en œuvre. C'est un concept qui permet aux utilisateurs de définir une méthode en modifiant leurs segments ou en modifiant la façon dont cela est fait. Le polymorphisme met l'accent sur la maintenance des applications tout en menant un cas d'utilisation extensible.

Lisez aussi: Questions d'entretien PHP

Création d'objets en PHP

Avant tout, en PHP, des classes sont créées où les utilisateurs peuvent créer plusieurs objets dans la même classe selon leur choix. Chaque objet est créé à l'aide d'un nouveau mot clé. Lorsqu'une classe est créée, les développeurs peuvent créer autant d'objets qu'ils le souhaitent pour la même classe.

Fonction de membre appelant

Lorsque l'objet est créé, les développeurs peuvent accéder aux fonctions de la méthode et aux variables de la classe à l'aide de l'opérateur '->'. Une fonction membre est capable de traiter les variables membres des objets associés uniquement. Prenons un exemple qui montre comment définir le prix et le titre de trois livres en appelant les fonctions membres :

$physics->setTitle( "Physique pour le lycée" );

$chimie->setTitle( "Chimie avancée" );

$maths->setTitle( "Algèbre" );

$physique->setPrice( 10 );

$chimie->setPrice( 15 );

$maths->setPrice( 7 );

Pour obtenir la valeur définie, vous pouvez appeler une autre fonction membre :

$physique->getTitle();

$chimie->getTitle();

$maths->getTitle();

$physique->getPrice();

$chimie->getPrice();

$maths->getPrice();

Cela produira le résultat suivant :

Physique pour le lycée

Chimie avancée

Algèbre

dix

15

7

Création d'une classe abstraite

<?php

classe abstraite DBCommonMethods

{

privé $host ;

privé $db ;

$uid privé ;

$password privé ;

fonction publique __construct($host, $db, $uid, $password)

{

$this->hôte = $hôte ;

$this->db = $db;

$this->uid = $uid ;

$this->password = $password;

}

}

?>

Ici,

  • « Classe abstraite » fait référence à la classe qui ne peut pas être utilisée directement pour créer un objet.
  • « $host,$db… » sont les variables de classe communes à diverses implémentations

Création d'interface

Créons maintenant une interface contenant des méthodes standard pour implémenter différentes variables de base de données :

<?php

interface DBInterface

{

fonction publique db_connect();

fonction publique insert($data);

fonction publique lire($où);

mise à jour de la fonction publique($where);

fonction publique delete($where);

}

?>

Ici,

  • "Interface" est un mot-clé pour créer les interfaces
  • La « fonction publique » est une méthode standard pour mettre en œuvre

Créons une classe concrète qui peut étendre les classes et interfaces DBCommon Methods :

<?php classe MySQLDriver étend

DBCommonMethods implémente DBInterface { public function __construct($host, $db, $uid, $password)

{

parent ::__construct($host, $db, $uid, $password); }

fonction publique db_connect() { // le code de connexion va ici }

public function delete($where) { //le code de suppression va ici }

public function insert($data) { //le code d'insertion va ici }

public function read($where) { //lire le code va ici }

fonction publique update($where) { //le code de mise à jour va ici }

} ?>

Remplacement de fonction

Remplacer la fonction dans les classes enfant dans le même nom que la classe parent. Dans une classe enfant, le développeur peut modifier la définition de fonction héritée de la classe parent.

fonction obtenirPrix() {

echo $this->prix . « <br/> » ;

retourne $ce->prix ;

}

fonction getTitle(){

echo $this->title . « <br/> » ;

retourne $this->title ;

}

Visibilité

Chaque méthode et propriété en PHP a sa visibilité qui est déclarée par des mots-clés comme private, public et protected qui sont expliqués ci-dessous :

  • Public- Il permet à tout utilisateur extérieur d'accéder à la méthode et à la propriété.
  • Privé - Il ne donne accès à aucun utilisateur sauf à lui-même.
  • Protected- Il permet uniquement aux classes enfants et à lui-même d'accéder à la méthode et à la propriété.

Inscrivez-vous à des cours de génie logiciel dans les meilleures universités du monde. Gagnez des programmes Executive PG, des programmes de certificat avancés ou des programmes de maîtrise pour accélérer votre carrière.

Conclusion

Le concept de base de la programmation orientée objet en PHP est mentionné dans cet article.

Si vous souhaitez en savoir plus sur le développement de logiciels à pile complète, consultez le programme Executive PG de upGrad & IIIT-B en développement de logiciels à pile complète, conçu pour les professionnels en activité et offrant plus de 500 heures de formation rigoureuse, plus de 9 projets, et affectations, statut d'ancien de l'IIIT-B, projets de synthèse pratiques et aide à l'emploi avec les meilleures entreprises.

Devenir Développeur Full Stack

Postulez maintenant pour une maîtrise en génie logiciel