Tutoriel PHP

ACCUEIL PHP Introduction PHP Installation PHP Syntaxe PHP Commentaires PHP Variables PHP Écho PHP / Impression Types de données PHP Chaînes PHP Numéros PHP Mathématiques PHP Constantes PHP Opérateurs PHP PHP Si... Sinon... Sinon Commutateur PHP Boucles PHP Fonctions PHP Tableaux PHP Superglobales PHP Expression régulière PHP

Formulaires PHP

Gestion des formulaires PHP Validation de formulaire PHP Formulaire PHP requis URL/courriel du formulaire PHP Formulaire PHP terminé

PHP Avancé

Date et heure PHP Inclure PHP Gestion des fichiers PHP Fichier PHP Ouvrir/Lire Création/écriture de fichier PHP Téléchargement de fichier PHP Cookies PHP Séances PHP Filtres PHP Filtres PHP avancés Fonctions de rappel PHP PHPJSON Exception PHP

POO PHP

PHP Qu'est-ce que la POO Classes/Objets PHP Constructeur PHP Destructeur PHP Modificateurs d'accès PHP Héritage PHP Constantes PHP Classes abstraites PHP Interface PHP Caractéristiques PHP Méthodes statiques PHP Propriétés statiques PHP Espaces de noms PHP Itérables PHP

Base de données MySQL

Base de données MySQL Connexion MySQL Créer une base de données MySQL Créer une table MySQL MySQL Insérer des données MySQL obtenir le dernier ID MySQL Insérer plusieurs MySQL préparé MySQL Sélectionner les données MySQL Où Trier MySQL par MySQL Supprimer les données Données de mise à jour MySQL Données de limite MySQL

XML PHP

Analyseurs PHP XML Analyseur PHP SimpleXML PHP SimpleXML - Obtenir Expatriation PHP XML PHP XML DOM

PHP -AJAX

Introduction à AJAX PHP AJAX Base de données AJAX XML AJAX Recherche en direct AJAX Sondage AJAX

Exemples PHP

Exemples PHP Compilateur PHP Questionnaire PHP Exercices PHP Certificat PHP

Référence PHP

Présentation de PHP Tableau PHP Calendrier PHP Date PHP Annuaire PHP Erreur PHP Exception PHP Système de fichiers PHP Filtre PHP FTP PHP PHPJSON Mots clés PHP PHP LibxmlComment Messagerie PHP Mathématiques PHP Divers PHP PHP MySQL Réseau PHP Contrôle de sortie PHP Expression régulière PHP PHP SimpleXML Flux PHP Chaîne PHP Gestion des variables PHP Analyseur PHP XML Code postal PHP Fuseaux horaires PHP

PHP OOP - Classes et objets


Une classe est un modèle pour les objets et un objet est une instance de classe.


Cas POO

Supposons que nous ayons une classe nommée Fruit. Un fruit peut avoir des propriétés comme le nom, la couleur, le poids, etc. Nous pouvons définir des variables comme $name, $color et $weight pour contenir les valeurs de ces propriétés.

Lorsque les objets individuels (pomme, banane, etc.) sont créés, ils héritent de toutes les propriétés et comportements de la classe, mais chaque objet aura des valeurs différentes pour les propriétés.


Définir une classe

Une classe est définie en utilisant le mot- class clé, suivi du nom de la classe et d'une paire d'accolades ({}). Toutes ses propriétés et méthodes vont à l'intérieur des accolades :

Syntaxe

<?php
class Fruit {
  // code goes here...
}
?>

Ci-dessous, nous déclarons une classe nommée Fruit composée de deux propriétés ($name et $color) et de deux méthodes set_name() et get_name() pour définir et obtenir la propriété $name :

<?php
class Fruit {
  // Properties
  public $name;
  public $color;

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

Remarque : Dans une classe, les variables sont appelées propriétés et les fonctions sont appelées méthodes !


Définir des objets

Les classes ne sont rien sans objets ! Nous pouvons créer plusieurs objets à partir d'une classe. Chaque objet a toutes les propriétés et méthodes définies dans la classe, mais elles auront des valeurs de propriété différentes.

Les objets d'une classe sont créés à l'aide du mot- newclé.

Dans l'exemple ci-dessous, $apple et $banana sont des instances de la classe Fruit :

Exemple

<?php
class Fruit {
  // Properties
  public $name;
  public $color;

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

$apple = new Fruit();
$banana = new Fruit();
$apple->set_name('Apple');
$banana->set_name('Banana');

echo $apple->get_name();
echo "<br>";
echo $banana->get_name();
?>

Dans l'exemple ci-dessous, nous ajoutons deux autres méthodes à la classe Fruit, pour définir et obtenir la propriété $color :

Exemple

<?php
class Fruit {
  // Properties
  public $name;
  public $color;

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

$apple = new Fruit();
$apple->set_name('Apple');
$apple->set_color('Red');
echo "Name: " . $apple->get_name();
echo "<br>";
echo "Color: " . $apple->get_color();
?>


PHP - Le mot-clé $this

Le mot-clé $this fait référence à l'objet courant et n'est disponible qu'à l'intérieur des méthodes.

Regardez l'exemple suivant :

Exemple

<?php
class Fruit {
  public $name;
}
$apple = new Fruit();
?>

Alors, où pouvons-nous changer la valeur de la propriété $name ? Il existe deux façons :

1. À l'intérieur de la classe (en ajoutant une méthode set_name() et en utilisant $this) :

Exemple

<?php
class Fruit {
  public $name;
  function set_name($name) {
    $this->name = $name;
  }
}
$apple = new Fruit();
$apple->set_name("Apple");

echo $apple->name;
?>

2. En dehors de la classe (en modifiant directement la valeur de la propriété) :

Exemple

<?php
class Fruit {
  public $name;
}
$apple = new Fruit();
$apple->name = "Apple";

echo $apple->name;
?>

PHP - instance de

Vous pouvez utiliser le instanceofmot clé pour vérifier si un objet appartient à une classe spécifique :

Exemple

<?php
$apple = new Fruit();
var_dump($apple instanceof Fruit);
?>