LearnThe $this keyword

The $this keyword

In the first tutorial of this series, we learned how to group the code related to a certain topic into one single class. As an example, we wrote a Car class that groups the code that handles cars.

class Car {
  public $comp;   public $color = 'beige';   public $hasSunRoof = true;     public function hello()   {     return "beep";   } }

We also created two objects out of the class in order to be able to use its code.

$bmw = new Car ();
$mercedes = new Car ();

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:

$this -> comp

In order to approach the class $color property. We use:

$this -> color

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:

echo $bmw -> hello();

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();

Conclusion

In this tutorial, we have learned how to use the $this keyword in order to get the class's own properties and methods from within the class. In the next tutorial, we will learn how to chain methods and properties.

But before we move on to the next lesson, lets practice: Practice the $this keyword

comments powered by Disqus