Bonjour,
Je viens vers vous car j'ai un problème concernant l'héritage ou plutôt, un truc qui m'échappe.
Pour faire simple, j'ai mon appli PHP qui est couplée avec une base MySQL, jusque la, rien d'exceptionnel.
Dans ma base, j'ai deux tables:
ma première table, nommé Personne est selon le schéma suivant : idPersonne (int), nom(varchar), prenom (varchar)
ma seconde table, nommé Collaborateur est la suivante: idCollaborateur(int), idPersonne(int), fonction(varchar), telephone(varchar)
Come on peut le voir, il y a une jointure sur le idPersonne.
Coté php, j'ai mes deux classes dans deux fichiers Personne.php et Collaborateur.php
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 class Collaborateur extends Personne { protected idPersonne; protected nom; protected prenom; public function __construct($idObjet = null) { //une fonction qui charge mon objet si l'ID est passé en paramètre } function getValeur($champ) { return $this->getValeur } }J'ai créé un formulaire qui ajoute mon collaborateur en choisissant une personne dans la liste. Enregistrement OK.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 class Collaborateur extends Personne { protected idCollaborateur; protected idPersonne; protected fonction; protected telephone; public function __construct($idObjet = null) { //une fonction qui charge mon objet si l'ID est passé en paramètre } } {
Mais je voudrais charger un objet Collaborateur qui va, au moment de l'instanciation, charger ma Personne, et donc avoir les informations nom et prénom.
J'ai trouvé une technique qui est d'initialisation un objet Personne avec la valeur de l'idPersonne, mais je suis persuadé que je n'utilise pas l'héritage à bon escient. Je dois pouvoir récupérer mes propriétés nom et prenom depuis mon collaborateur non? N'est-ce pas le but de l'héritage?
Je précise que je débute dans le dév, donc désolé si ma question parait stupide.
Merci à vous
Partager