Если переменные определены в глобальном пространстве, то вам нужно сослаться на них в глобальном пространстве внутри методов вашего класса:
include 'var.php';
class userSession{
/* all the code */
public function getVariables(){
global $var1, $var2;
echo $var1,' ',$var2,'<br />';
$var1 = 'Goodbye'
}
public function getOtherVariables(){
global $var1, $var2;
echo $var1,' ',$var2,'<br />';
}
}
$test = new userSession();
$test->getVariables();
$test->getOtherVariables();
Это не очень хорошая идея. Использование глобальных переменных, как правило, является плохой практикой и свидетельствует о том, что вы еще не совсем понимаете принципы ООП.
Во втором примере вы определяете переменные в локальном пространстве для отдельных методов
class userSession{
/* all the code */
public function getVariables(){
include 'var.php';
echo $var1,' ',$var2,'<br />';
$var1 = 'Goodbye'
}
public function getOtherVariables(){
include 'var.php';
echo $var1,' ',$var2,'<br />';
}
}
$test = new userSession();
$test->getVariables();
$test->getOtherVariables();
Поскольку каждая переменная определяется независимо в пространстве локального метода, изменение $ var1 в getVariables () не влияет на $ var1 в getOtherVariables ()
Третий вариант - определить переменные как свойства класса:
class userSession{
include 'var.php';
/* all the code */
public function getVariables(){
echo $this->var1,' ',$this->var2,'<br />';
$this->var1 = 'Goodbye'
}
public function getOtherVariables(){
echo $this->var1,' ',$this->var2,'<br />';
}
}
$test = new userSession();
$test->getVariables();
$test->getOtherVariables();
Это определяет переменные как свойства в пространстве userClass, поэтому к ним могут обращаться все методы в экземпляре userClass. Обратите внимание на использование $ this-> var1 вместо $ var1 для доступа к свойствам. Если у вас есть несколько экземпляров userClass, свойства в каждом экземпляре могут быть разными, но в каждом экземпляре свойства согласованы для всех методов этого экземпляра.