Utilisation d'une méthode d'une classe appelée dans une classe

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Utilisation d'une méthode d'une classe appelée dans une classe

Re: Utilisation d'une méthode d'une classe appelée dans une classe

par berthos » 23 sept. 2015, 16:02

Merci beaucoup, ça marche impeccable !

Re: Utilisation d'une méthode d'une classe appelée dans une classe

par Nestecha » 23 sept. 2015, 14:41

Plusieurs soucis dans ton code.

Premièrement, déclare les propriétés de ta classe en utilisant public, private ou protected (et non var, c'est l'ancienne syntaxe).

Ensuite, ce que tu cherches à faire c'est de l'injection de dépendances. Tu veux appeler la méthode d'une classe dans une autre classe.

Dans le construct de ta class TOTO, mets un paramètre $oTATA, puis le corps de ta fonction sera $this->TATA = $oTATA.

Ensuite dans ton code final, cree un nouvel objet TATA, puis lorsque tu crées un nouvel objet TOTO, mets l'objet TATA en paramètre.

Ainsi, toutes les méthodes de TATA seront disponibles.

De plus, tu pourras utiliser d'autres classes à la place de TATA, comme TUTU ou TETE.

Re: Utilisation d'une méthode d'une classe appelée dans une classe

par berthos » 19 sept. 2015, 20:44

Désolé je ne comprends pas la réponse.
Dans mon cas, j'appelle une classe dans une classe et j'essaie d'utiliser la méthode de la classe appelée.
La réponse semble ne pas répondre du tout à la question.

Re: Utilisation d'une méthode d'une classe appelée dans une classe

par or 1 » 19 sept. 2015, 20:40

<?php
class _Core{
    var $pdo="test";
    var $essai="test";
 
    function __construct(){    
        $pdo = "pdo";
        $this->essai = "pdo";
    }
}
 
$plugin = new _Core();
echo $plugin->pdo;
echo "<br>".$plugin->essai;
?>
à priori, le problème est illustré par ce code.

Utilisation d'une méthode d'une classe appelée dans une classe

par berthos » 19 sept. 2015, 20:24

Voici mon cas (que j'ai simplifié) :

Déclaration d'une classe chargée dans une autre classe :
class TATA_Class
{
	var $Id; //Identifiant 
	var $Nom; // Nom

	function __construct()
	{
		$TATA = new TATA_Class;
	}
	public function Charge()
	{
	       Chargement($this);
	}
}

class TOTO_Class
{
	var $Id; //Identifiant 
	var $TATA_Id; //id de TATA
	var $TATA; // Autre classe

	function __construct()
	{
		$TATA = new TATA_Class;
	}
	public function Charge()
	{
	       Chargement($this);
               $this->TATA->Id = $this->TATA_Id;
		$this->Table->Charge();
	}
}


Dans mon PHP, si je fais :
$TITI = new TOTO_Class;
$TITI->Charge();

Il ne trouve pas la méthode charge de TATA alors que l'objet $TATA existe bien (je peux l'afficher).

Une idée ???