Если переменные определены в глобальном пространстве, то вам нужно ссылаться на них в глобальном пространстве в своих методах класса:
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, свойства в каждом экземпляре могут быть разными, но внутри каждого экземпляра свойства согласованы во всех методах этого экземпляра.
Какое содержимое содержит var.php. –
В первом примере вы включаете содержимое var.php в глобальное пространство. Во втором примере вы включаете содержимое var.php в локальное пространство для методов в своем классе. Что вы на самом деле пытаетесь сделать здесь? –
Предположим только две переменные. ' Php $ var1 =" hello "; $ Var2 = "мир"; ?> ' –