<?php namespace PHPFacile\Tuto; use BibliothequeAutre\CoolClasse; use BibliothequeAutre2\CoolClasse as CoolClasse2; abstract class MaClasseAMoi extends CoolClasse implements MonInterface1, MonInterface2 { const MA_CONSTANTE_DE_CLASSE = 'constante'; protected $maVariableMembre; abstract public function maMethodeAbstraite($param); public function __construct($param) { $this->maVariableMembre = $param; } public function maMethode() { try { $val = self::maMethodeStatique($this->maVariableMembre); } catch (\Exception $e) { // Exception levée } finally { // Depuis PHP 5.5 } } public static function maMethodeStatique($param) { if ($param instanceof CoolClasse) { echo '$param est une instanciation "directe" de CoolClasse ou hérite de CoolClasse'; } } protected function maMethodeProtegee($param) { // get_class() retourne le nom de la classe sous forme de chaîne de caractères return get_class($param); } final private function maMethodePriveeEtFinale($param) { return self::MA_CONSTANTE_DE_CLASSE; } }
<?php namespace PHPFacile\Tuto; interface MonInterface1 { const MA_CONSTANTE_DE_CLASSE_2 = 'constante'; public function maMethode(); }