Bonjour,

Ce code est il juste s'il vous plait ?

 
<?php
require_once "./classe/employe.php";
   
   // instantiation d'un titulaire
		  $Sal0001=new Titulaire("0001","Robert","Paul","Homme","oui");
		  $Sal0001->specialite = "Excel";
		  $Sal0001->SalaireMensuel = 10000;
		  $Sal0001->DateEmbauche = "01/02/2019";
		// Afficher les infos de titulaire   
		   echo $Sal0001->AfficherEtatCivil();
		   echo $Sal0001->AfficherSpec();
		   echo $Sal0001->InfoTitulaire();
		   echo "<br />";
		   
   // instantiation d'un externe
		$Sal0002 =new Externe("0002","Bigard","Paulette","Femme","Non");

		  $Sal0002->specialite = "Word";
		  $Sal0002->TarifHoraire = 30;
		  $Sal0002->DureeContract
		  = 12;
		  $Sal0002->statut = "cdd";
   // Afficher les infos de Externe  
		   echo $Sal0002->AfficherEtatCivil();
		   echo $Sal0002->AfficherSpec();
		   echo $Sal0002->AfficherTh();
		   echo $Sal0002->AffichePaye();
		   echo "<br />";
		   
   // instantiation d'un adminstratif
		$Sal0003 =new Administratif("0003","Delbere","Véronique","Femme","Non");

		  $Sal0003->Fonction = "Comptable";
		  $Sal0003->Bureau = "A23";

   // Afficher les infos de Externe  
		   echo $Sal0003->AfficherEtatCivil();
		  echo $Sal0003->InfoAdmin();
		   echo "<br />";		   
?> 
Et celui la ?

<?php

	class Employe{

	      public $matricule;
		  public $nom;
		  public $prenom;
		  public $sexe;
		  public $marie;
		  
	// Définition du constructeur
	function __construct($matricule,$nom,$prenom,$sexe,$marie) {

			$this->matricule = $matricule;
			$this->nom = $nom;
			$this->prenom = $prenom;
			$this->sexe = $sexe;
			$this->marie = $marie; 
			}
		  
	      public function AfficherEtatCivil(){
			echo " Le Matricule est : ",$this->matricule."<br>";
	        echo " Le nom est : ",$this->nom."<br>";
			echo " Le prenom est : ",$this->prenom."<br>";
			echo " Le sexe est : ",$this->sexe."<br>";	
			echo " Situation conjugale : ",$this->marie."<br>";		
	         }
   }

   class formateur extends employe {

   		public $specialite;

   		//création du constructeur propre a formateur + spe 
   		// hérité du constructeur employé

   		function__construct($mat,$nom$,$prenom,$sexe,$marie,$spe) {

   			// c'est a ce niveau que se fait l'heritage 
   			parent::__construct($mat,$nom$,$prenom,$sexe,$marie)

			// Alimenter l'attribut spécialité de la classe formateur 
   			$this->specialite = $spe;

   		}

   		//Methode appartenant a formateur 
   		function AfficherSpec() {
   			parent::AfficherEtatCivil();
   			$rep = "La spécialité est : " .$this->specialite."</br>";
   			return $rep;
   		}


   }

   class externe extends employe {

   		public $tarifHoraire;
   		public $statut;

   		//création du constructeur propre a formateur + spe 
   		// hérité du constructeur employé

   		function__construct($mat,$nom$,$prenom,$sexe,$marie,$spe, $tarif, $statut) {

   			// c'est a ce niveau que se fait l'heritage 
   			parent::__construct($mat,$nom$,$prenom,$sexe,$marie, $spe)

			// Alimenter l'attribut spécialité de la classe formateur 
   			$this->tarifHoraire = $tarif;
   			$this->statut = $statut;

   		}

   		//Methode appartenant a formateur 
   		function AfficherSpec() {
   			parent::AfficherEtatCivil();
   			$rep = "La spécialité est : " .$this->specialite."</br>";
   			return $rep;
   		}


   }




   
Et celui la pour avoir l'air d'une roue de moto ?


<?php
class roueMoto {
public $ip = 3.14 ;
public $rayon ;
public $poidsaucm = 0.5;

function afficheInfo() {
echo "rayon de la roue ".$this->rayon ,'<br>';
echo "Périmètre de la roue ",2*$this->rayon*$this->ip,'<br>';
}
function aire() {
echo "Aire de la roue ", $this->rayon*$this->rayon*$this->ip,'<br>';
}
function nbreBatons(){
	$nbre = 0;
	if ($this->rayon >= 50){
		$nbre = 90;
			} elseif ($this->rayon >= 45){
					$nbre = 85;;
			} else {
				$nbre = 80;;
				}
	return $nbre;
}	
function poids(){
	return ($this->rayon * $this->poidsaucm);
}
}
$roue1 = new roueMoto() ;
$roue1->rayon = 45 ;
$roue2 = clone $roue1 ; // On crée une copie, un clone
// Les objets sont alors identiques mais ne sont pas les mêmes
$roue2->rayon = 50 ;
$roue1->afficheInfo();
// La modification de l’objet 2 n’a pas affecté l’objet 1
//echo $roue2->rayon ; // Affiche 2
$roue2->afficheInfo()."<br>";
echo "Aire de la roue ",$roue2->aire()."<br>";
echo "Nombre de baton de la roue ", $roue2->nbreBatons()."<br>";
echo "Poids de la roue ", $roue2->poids();


?>
Si par juste tu entends la nomenclature ou le respect du code je dirais que non.

Trop compliqué à maintenir ton code, fichier avec de multi classe à éviter; nom de varaible avec xxx01 xxx02 xxx03 à éviter.. etc...
Modifié par JENCAL (02 Dec 2019 - 13:22)
Meilleure solution
C'était dans ce sens la que j'avais besoin d'infos, que faut il faire pour que cela soit plus "propre" ?
Merci bien !
Un fichier = une classe,
Avoir une architecture au minimum MVC
Avoir des vrais noms de variables
Pas de redondance de code/fonction/boucle/if
Avoir une bonne indentation
Etc..etc..
Modifié par JENCAL (02 Dec 2019 - 15:04)