PHP - Classe fille appelle fonction de la classe mère

Petit nouveau ! | 3 Messages

13 mars 2014, 12:12

Bonjour à vous, et merci par avance pour l'intérêt que vous portez à mon message.

Mon problème : Lorsque ma classe fille (Post_manage), instanciée par la classe mère (Post), appelle la fonction add() de la classe mère, je ne parviens pas à récupérer la classe bdd instanciée par le constructeur de la classe mère. Je pense bien que quelque chose m'échappe, pourriez-vous m'éclairer sur ce point ?

Merci par avance.
<?php

class Bdd
{
	public function toto(){
		return 'toto';
	}
}

class Post {
	
	protected $bdd;

	public function __construct()
	{
		$this->bdd = new Bdd();
		$this->manage = new Post_manage;

		echo $this->bdd->toto();
		// Affiche : toto
	}

	public function add() {

		echo $this->bdd->toto();
		// ici $this->bdd n'existe plus quand il est appelé par la classe fille ?
	}
}

class Post_manage extends Post {

	public function __construct() {
		$this->actions();
	}

	public function actions() {
		
		// appelle de la fonction de la classe "mère".
		$this->add();
	}
}


$post = new Post();

?>

ViPHP
xTG
ViPHP | 7331 Messages

13 mars 2014, 13:10

C'est quoi ce bordel ?
C'est même une boucle infinie ton affaire si tu avais appelé correctement les constructeurs...
(et pour information c'est cet appel manquant qui procure ton problème)

Comment une class mère peut-elle réinstancier sa class fille ? Quel intérêt ?
Post_manage ne peut être une class qui hérite de Post si Post lui même instancie Post_manage.
C'est le loup qui se mord la queue.

Petit nouveau ! | 3 Messages

13 mars 2014, 14:52

Merci xTG pour ta réponse.
Effectivement, je me suis retrouvé avec une boucle infinie...
Mais comment appeler la fonction action() de la classe fille depuis la classe mère sans l'instancié ?

ViPHP
xTG
ViPHP | 7331 Messages

13 mars 2014, 16:25

Je ne peux pas répondre à cette question vu que ton architecture est impossible... :mrgreen:

Qu'est ce que tu cherches à faire ?
As-tu d'autres class qui étendent la class Post ?

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

13 mars 2014, 18:22

Il en faut peu pour être heureux ......