2013-03-15 3 views
-1

J'ai une classe avec deux fonctions, deux requêtes AJAX différentes affichent $variable et $anothervariable à functionOne et functionTwo. Je dois être en mesure d'utiliser la valeur de $variable dans la fonction functionTwoPasser des variables PHP entre les fonctions d'une classe

class MyClass { 

    public static function functionOne($variable) { 



    } 

    public static function functionTwo($anothervariable) { 

     // I WANT TO USE $variable HERE 

    } 


} 

Comment puis-je accéder $variable au sein functionTwo?

+0

$ this-> functionOne ($ Var); de l'intérieur de la fonction Deux? –

+1

Et comment s'appellent ces fonctions? – Jon

+0

@DarylGill Tout d'abord ses fonctions sont statiques donc il ne peut pas utiliser $ this, d'autre part comment l'appel à functionOne lui donnerait-il accès à la variable $? – GGio

Répondre

1

Depuis vos deux méthodes sont statiques, vous devez ajouter une variable statique avant que les fonctions et le mettre dans functionOne et l'utiliser dans functionTwo

class MyClass { 
    static $variable; 

    public static function functionOne($variable) { 
     self::variable = $variable; 
    } 

    public static function functionTwo($anothervariable) { 
     echo self::variable; 
    } 
} 
+0

dans le code J'obtiens l'erreur suivante sur cette partie 'self :: variable = $ variable;' Variable constante introuvable dans MyClass – james

0
class MyClass { 

    function foo($aString) { 

     $this->val = $aString; 

    } 

    function bar() { 

     echo $this->val; 

    } 

} 

$test = new MyClass(); 
$test->foo('test'); 
$test->bar(); 

sortie:

'test' 
+0

Où est défini '$ this-> val'? – Chris

+0

Ce n'est pas et n'a pas besoin d'être. Vous pouvez ajouter la déclaration entre la classe MyClass {'et la fonction foo ($ aString) {' si vous préférez les définir avant de les utiliser (une bonne idée) – zajd

+0

Ses fonctions sont statiques et vous ne pouvez pas changer ' $ this-> val' – andrewtweber

Questions connexes