2013-03-15 4 views
-1

У меня есть класс с двумя функциями, два разных запроса AJAX размещают $variable и $anothervariable до functionOne и functionTwo. Мне нужно, чтобы иметь возможность использовать значение $variable в функции functionTwoПередача переменных PHP между функциями внутри класса

class MyClass { 

    public static function functionOne($variable) { 



    } 

    public static function functionTwo($anothervariable) { 

     // I WANT TO USE $variable HERE 

    } 


} 

Как я могу получить доступ $variable в functionTwo?

+0

$ this-> functionOne ($ Var); изнутри функцияTwo? –

+1

И как называются эти функции? – Jon

+0

@DarylGill Прежде всего, его функции статичны, поэтому он не может использовать $ this, во-вторых, как вызов функцииOne даст ему доступ к переменной $? – GGio

ответ

1

Поскольку оба ваши методы являются статическими вам нужно добавить статическую переменную перед функций и установить его в functionOne и использовать его в functionTwo

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

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

+0

Это не так и не нужно. Вы можете добавить декларацию между 'class MyClass {' и 'function foo ($ aString) {', если вы предпочитаете их определять до их использования (хорошая идея) – zajd

+0

Его функции статичны, поэтому вы не можете изменить ' $ this-> val' – andrewtweber

Смежные вопросы