Я новичок в PHP и мне нужна ваша помощь здесь.Я знаю основные функции this
в PHP.
class SwapClass
{
public $num1 = 0;
public $num2 = 0;
function __construct($val1,$val2)
{
echo "In constructor!!" . "<br />";
$num1 = $val1;
$num2 = $val2;
}
public function display()
{
echo "1st value : " . $num1 . "<br />2nd value : " . $num2;
}
}
Это мой класс.Я назвал его так:
$obj = new SwapClass(2,3);
$obj->display();
Значения никогда не доходят до метода display()
.Я попытался повторить это в конструкторе.Подтверждено, что ценности идут.Затем я изменил код:
class SwapClass
{
public $num1 = 0;
public $num2 = 0;
function __construct($val1,$val2)
{
echo "In constructor!!" . "<br />";
$this->num1 = $val1;
$this->num2 = $val2;
}
public function display()
{
echo "1st value : " . $this->num1 . "<br />2nd value : " . $this->num2;
}
}
Теперь он работает нормально.Почему нельзя получить доступ к переменным без this
?
Используется ли this
для устранения неоднозначности?В моем примере у меня есть только один объект.Так в чем же проблема?