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/
精彩评论