<?php
 // === Classe Personnel ===
 class Personnel
 { // -- Les propriétés --
   protected $nom    ;
   protected $prenom ;
   // -- constructeur --
   function __construct($n,$p)
   { $this->nom    = strtoupper(trim($n)) ;
     $this->prenom = strtoupper(trim($p)) ;
   }
   public function Affiche() {
     echo "Nom: ".$this->nom;
     echo "  -  Prénom: ".$this->prenom.PHP_EOL;
   }   
 }
 // === Classe Cadre ===
 class Cadre extends Personnel
 { // -- Les propriétés --
   private $_tel   ;
   // -- constructeur --
   function __construct($n,$p,$t)
   { parent::__construct($n,$p); //constructeur parent
     $this->_tel   = trim($t) ;
   }
   public function Affiche() {  // surcharge
     echo "-- Dans la classe Cadre --".PHP_EOL;
     parent::Affiche();
     echo "  -  Tel: ".$this->_tel.PHP_EOL;
   }   
 }
 // === Programme ===
 $un_salarie = new Personnel("martin","pierre") ;
 $un_salarie->Affiche() ;//Méthode de la Classe Personnel
 $un_cadre = new Cadre("dupont","jean","0143451122")   ;
 $un_cadre->Affiche() ;// Méthode de la Classe Cadre
?>
