The $this keyword
The $this keyword indicates that we use the class's own methods and properties, and allows us to have access to them within the class's scope.
The $this keyword allows us to approach the class properties and methods from within the class using the following syntax:
- Only the $this keyword starts with the $ sign, while the names of the properties and methods do not start with it.
$this -> propertyName;
$this -> methodName();
The $this keyword indicates that we use the class's own methods and properties, and allows us to have access to them within the class's scope.
Let's illustrate what we have just said on the Car class. We will enable the hello() method to approach the class's own properties by using the $this keyword.
In order to approach the class $comp property. We use:
In order to approach the class $color property. We use:
That's what the code looks like:
class Car {
// The properties
public $comp;
public $color = 'beige';
public $hasSunRoof = true;
// The method can now approach the class properties
// with the $this keyword
public function hello()
{
return "Beep I am a <i>" . $this -> comp . "</i>, and I am <i>" .
$this -> color;
}
}
Let us create two objects from the class:
$bmw = new Car();
$mercedes = new Car ();
and set the values for the class properties:
$bmw -> comp = "BMW";
$bmw -> color = "blue";
$mercedes -> comp = "Mercedes Benz";
$mercedes -> color = "green";
We can now call the hello() method for the first car object:
Result:
Beep I am a BMW, and I am blue.
And for the second car object.
echo $mercedes -> hello();
Result:
Beep I am a Mercedes Benz, and I am green.
This is the code that we have written in this tutorial:
class Car {
// The properties
public $comp;
public $color = 'beige';
public $hasSunRoof = true;
// The method that says hello
public function hello()
{
return "Beep I am a <i>" . $this -> comp .
"</i>, and I am <i>" . $this -> color;
}
}
// We can now create an object from the class.
$bmw = new Car();
$mercedes = new Car();
// Set the values of the class properties.
$bmw -> color = 'blue';
$bmw -> comp = "BMW";
$mercedes -> comp = "Mercedes Benz";
// Call the hello method for the $bmw object.
echo $bmw -> hello();