Мне нужна переменная, которая остается доступной для всех файлов PHP, которые я использую, то есть я должна иметь возможность прочитать ее и изменить ее значение.
Я пытался объявить класс в файле с переменной x:
В file1.php
public class sample{
public static $curruser = '0';
public function getValue() {
return self::$curruser;
}
public function setValue($val){
self::$curruser = $val;
}
}
Это устанавливается в file2.php путем вызова sample::setValue($val)
, Эта страница имеет редирект на file3.php
Мне нужно получить доступ к этой переменной file3.php:
include 'file1.php';
print sample::getValue();
Это дает мне 0
вместо значения, которое я установил в file2.php.
Понятно, что мое понимание статических переменных в PHP немного шатко. Есть ли правильный способ установить и получить доступ к переменной через файлы?
Попробуйте использовать сеанс или какой-то другой механизм кэширования, если вы хотите, чтобы данные сохранялись между запросами.
я рекомендую определить константу следующим образом:
define('CONSTANT_NAME' ,$value);
и получить доступ к значению, как это:
echo CONSTANT_NAME;
или используя статическую функцию и статические значения и статические функции, например:
public static function setValue($val){
self::$curruser = $val;
}
public static function getValue() {
return self::$curruser;
}