开发者

use of this in PHP

I am new to PHP and need your help here. I know the basic functionality of this in 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;
    }
}

This is my class. I called it as:

$obj = new SwapClass(2,3);
$obj->display();

The values never come to the display() method. I tried echoing 开发者_如何学Pythonit in the constructor. It's confirmed that values are coming. I then modified the code to:

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;
    }
}

It works fine now. Why does can't the variables be accessed without this?

Is this used for disambiguation? In my example I have just one object. So what is the problem?


Any member of class is recognized buy using $this in class.

Otherwise it will be treated as local variable where it is being used.

It does not depend on number of object of class, You need to use it for one object as well as for hundreds and more.

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

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜