What is $this Variable Vs self?

What is $this Variable Vs self?

$this is a pseudo-variable which is a reference to the current object.

$this is mostly used in object oriented code.

$this variable is used to call non-static method, if you are trying to call static method then it will throw the error that means $this variable is not available inside the static method.

Error that you will get while calling a static property or method using $this variable :

Fatal error: Uncaught Error: Using $this when not in object context in .. on line
Note:  Calling non-static methods statically in PHP 7 is deprecated that will generate an E_DEPRECATED warning. So i assume it may be removed in the future to call non-static methods statically.
  1. <?php
  2. class Product {
  3.     public $name='ExpertPHP';
  4.     public function aNonStaticMethod() {
  5.         echo $this->name;
  6.     }
  7. }
  8. $p1 = new Product();
  9. $p1->aNonStaticMethod();
  10. ?>

In above example, i have created a Product class with non static method and initialize a object to call aNonStaticMethod to display name property which is declared as public. Here i use $this variable to access public property declared within class.

self keyword

As you notice, this keyword is proceed with $ sign but self keyword is not proceed with any symbol.

With self keyword, you use scope resolution operator.

self keyword with scope resolution operator (::) you can call static method or properties of a class.

self keyword basically refer to current class name within a class.

Example :
  1. <?php
  2. class Product {
  3.     public static $name='ExpertPHP';
  4.     public function display() {
  5.         echo self::$name;
  6.     }
  7. }
  8. $p1 = new Product();
  9. $p1->display();
  10. ?>

In above example, you can see i have defined a name property as static and to access static property i use self keyword.

Phone: (+91) 8800417876
Noida, 201301
sakarya escort akyazı escort arifiye escort erenler escort eve gelen escort ferizli escort geyve escort hendek escort otele gelen escort sapanca escort söğütlü escort taraklı escort
sakarya escort - akyazı escort - arifiye escort - erenler escort - eve gelen escort - ferizli escort - geyve escort - hendek escort - karapürçek escort - karasu escort - kaynarca escort - kocaali escort - otele gelen escort - pamukova escort - sapanca escort - söğütlü escort - taraklı escort
sapanca escort hendek escort karasu escort escort sakarya sakarya escort bayan adapazarı escort sakarya escort sakarya escort sakarya escort sakarya escort sakarya escort sakarya escort