Looking for php Answers? Try Ask4KnowledgeBase
Looking for php Keywords? Try Ask4Keywords

PHPClasses et Objets


Introduction

Les classes et les objets sont utilisés pour rendre votre code plus efficace et moins répétitif en regroupant des tâches similaires.

Une classe est utilisée pour définir les actions et la structure de données utilisées pour créer des objets. Les objets sont ensuite construits en utilisant cette structure prédéfinie.

Syntaxe

  • class <ClassName> [ extends <ParentClassName> ] [ implements <Interface1> [, <Interface2>, ... ] { } // Déclaration de classe
  • interface <InterfaceName> [ extends <ParentInterface1> [, <ParentInterface2>, ...] ] { } // Déclaration d'interface
  • use <Trait1> [, <Trait2>, ...] ; // utilise des traits
  • [ public | protected | private ] [ static ] $<varName>; // Déclaration d'attribut
  • const <CONST_NAME>; // déclaration constante
  • [ public | protected | private ] [ static ] function <methodName>([args...]) { } // Déclaration de méthode

Remarques

Classes et composants d'interface

Les classes peuvent avoir des propriétés, des constantes et des méthodes.

  • Les propriétés contiennent des variables dans la portée de l'objet. Ils peuvent être initialisés sur déclaration, mais seulement s'ils contiennent une valeur primitive.
  • Les constantes doivent être initialisées lors de la déclaration et ne peuvent contenir qu'une valeur primitive. Les valeurs constantes sont fixées au moment de la compilation et peuvent ne pas être affectées au moment de l'exécution.
  • Les méthodes doivent avoir un corps, même vide, à moins que la méthode ne soit déclarée abstraite.
class Foo {
    private $foo = 'foo'; // OK
    private $baz = array(); // OK
    private $bar = new Bar(); // Error!
}

Les interfaces ne peuvent pas avoir de propriétés, mais peuvent avoir des constantes et des méthodes.

  • Les constantes d' interface doivent être initialisées lors de la déclaration et ne peuvent contenir qu'une valeur primitive. Les valeurs constantes sont fixées au moment de la compilation et peuvent ne pas être affectées au moment de l'exécution.
  • Les méthodes d' interface n'ont pas de corps.
interface FooBar {
    const FOO_VALUE = 'bla';
    public function doAnything();
}

Classes et Objets Exemples Liés