2013-03-15 139 views
-1

我有一個有兩個函數的類,兩個不同的AJAX請求發佈$variable$anothervariablefunctionOnefunctionTwo。我需要能夠在功能functionTwo在一個類中的函數之間傳遞PHP變量

class MyClass { 

    public static function functionOne($variable) { 



    } 

    public static function functionTwo($anothervariable) { 

     // I WANT TO USE $variable HERE 

    } 


} 

如何訪問$variablefunctionTwo中使用的$variable價值?

+0

$ this-> functionOne($ Var);從裏面functionTwo? – 2013-03-15 15:43:17

+1

這些函數是如何被調用的? – Jon 2013-03-15 15:44:18

+0

@DarylGill首先他的功能是靜態的,所以他不能使用$ this,其次是調用functionOne如何讓他訪問$變量? – GGio 2013-03-15 16:15:16

回答

1

因爲您的兩個方法是靜態的,你需要的功能之前,添加靜態變量,並將其設置在functionOnefunctionTwo

class MyClass { 
    static $variable; 

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

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

在代碼中我在這部分獲得以下錯誤'self :: variable = $ variable;' 在MyClass中找不到常量變量 – james 2013-03-15 16:16:33

0
class MyClass { 

    function foo($aString) { 

     $this->val = $aString; 

    } 

    function bar() { 

     echo $this->val; 

    } 

} 

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

輸出使用它:

'test' 
+0

定義了$ this-> val'的位置? – Chris 2013-03-15 15:48:05

+0

這不是也不需要。你可以在'class MyClass {'和'function foo($ aString){'之間添加聲明',如果你希望在使用它們之前定義它們(一個好主意) – zajd 2013-03-15 15:49:33

+0

他的函數是靜態的,所以你不能改變' $ this-> val' – andrewtweber 2013-03-15 15:56:14