использование этого в PHP - PullRequest
0 голосов
/ 08 марта 2011

Я новичок в 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 для устранения неоднозначности?В моем примере у меня есть только один объект.Так в чем же проблема?

1 Ответ

3 голосов
/ 08 марта 2011

Любой член класса распознается, покупая с использованием $this в классе.

В противном случае он будет рассматриваться как локальная переменная, где он используется.

Он не зависит от количестваОбъект класса. Вам нужно использовать его как для одного объекта, так и для сотен и более.

http://tournasdimitrios1.wordpress.com/2010/10/11/using-the-keyword-this-in-php/

...