У меня есть некоторый код PHP, который работает примерно так:доступа Глобальные переменные в пределах статического метода в PHP
$var1 = 'Variable 1';
$var2 = 'Variable 2';
class myClass {
function __construct() {
$this->var1 = $GLOBALS['var1'];
$this->var2 = $GLOBALS['var2'];
}
public function returnVars() {
return $this->var1 . ' ' . $this->var2; //Works fine
}
public static function returnVars2() {
//What should I do here?
}
}
Если я создаю экземпляр этого класса с помощью $myClass = new myClass()
, я могу использовать метод returnVars()
или просто получить var1
и var2
от класса просто отлично. Моя проблема в том, что мне нужно использовать глобальные переменные $var1
и $var2
в статическом методе returnVars2()
. Я не могу использовать это ключевое слово $this
, потому что класс не создается (и они объявляются внутри конструктора), но я все равно не могу нормально обращаться к глобальным переменным.
Любые предложения приветствуются!
Вы пытались использовать ключевое слово 'global'? – Mic1780
См. Этот вопрос [stackoverflow question] (http://stackoverflow.com/questions/25530954/function-which-produces-new-variable-for-use-outside-of-function-php/25531030) –
Точно так же, как вы делаете конструктор? Кстати, вы не должны использовать глобальные переменные, просто отправьте параметры, необходимые для этого метода. Или, может быть, вы хотите использовать вместо переменных переменные? – jeroen