Logo: Marc Harnist

N° 219 - Créer un namespace: exercice 8, usage de use pour la connexion au namespace
 - Le 20/04/2018 Catégorie: PHP

Fun Html et PHP5

Exercice 8 Créez deux namespaces nommés Firme::Client et Firme::Commercial possédant chacun des classes Personne.< br> Chacune d'elles doit avoir des propriétés pour enregistrer les coordonnées de la personne et son code, un constructeur, des méthodes set() et get() pour pouvoir modifier et afficher les propriétés. Créez ensuite des objets représentant deux clients et un commercial.< br> Création du namespace Firme\Client fichier chap9exo8.php NB1: la notation est celle de 5.3 antislash \ entre Firme et Client.< /p>

La classe Firme/Commercial/Personne (root/classes/Personne.php)

< ?php namespace Firme\Commercial; // Auteur: Marc L. Harnist le 20/04/2018 // Création d'une classe abstraite "Personne" avec deux attributs class Personne{ // Private ici, rendus publiques dans classes/Electeur.php protected $prenom; protected $nom; protected $adresse; protected $separateur; // Création du constructeur public function __construct($prenom, $nom, $adresse, $separateur=", "){ $this->prenom = $prenom; $this->nom = $nom; $this->adresse = $adresse; $this->separateur = $separateur; } public function getPrenom(){ return $this->prenom; } public function getNom(){ return $this->nom; } public function getCoordonnees(){ return $this->prenom . $this->separateur . $this->nom . $this->separateur . $this->adresse . " Namespace réussi. "; } } // Close class

La classe Firme/Client/Personne (root/classes/Personne.php)

< ?php namespace Firme\Client; // Auteur: Marc L. Harnist le 20/04/2018 // Faire ensuite un clonage d'un objet (ex 6) // Création d'une classe abstraite "Personne" avec deux attributs class Personne{ // Private ici, rendus publiques dans classes/Electeur.php protected $prenom; protected $nom; protected $adresse; protected $separateur; // Création du constructeur public function __construct($prenom, $nom, $adresse, $separateur=", "){ $this->prenom = $prenom; $this->nom = $nom; $this->adresse = $adresse; $this->separateur = $separateur; } public function getPrenom(){ return $this->prenom; } public function getNom(){ return $this->nom; } public function getCoordonnees(){ return $this->prenom . $this->separateur . $this->nom . $this->separateur . $this->adresse; } } // Close class client

Code de la page web bureau-de-vote.php qui importe les classes

< ?php // Création d'une classe enfant de Personne class Client extends Personne{ public $adresse; public $separateur; public function __construct($prenom, $nom, $adresse, $separateur = ", "){ parent::__construct($prenom, $nom); $this->adresse = $adresse; $this->separateur = $separateur; } public function getCoordonnees(){ return $this->prenom . $this->separateur . $this->nom . $this->separateur . $this->adresse; } public function setPrenom($prenom){ $this->prenom = $prenom; } public function setNom($nom){ $this->nom = $nom; } } // Close des classe Client < ?php require "Firme/Client/personne.php"; require "Firme/Commercial/personne.php"; use Firme\Client\Personne as Client; $clientC = new Client("Karine", "Talbotier", "New-York"); ?> < h4>< ?=$clientC->getCoordonnees();?>< /h4> < ?php use Firme\Commercial\Personne as Commercial; $commercialA = new Commercial("Aurelian", "Belou", "Shangaï"); ?> < h4>< ?=$commercialA->getCoordonnees();?>< /h4>


Catégories: News : Lexicon : Tools : Pages : Idees : PHP : Js : Versioning : Symfony : Idees-realisees : Java : MySql : Bootstrap : C : Css : Test : Reactjs : Java