What is $this Variable Vs self in PHP OOPs Tutorial – onlinecode

What is $this Variable Vs self in PHP OOPs Tutorial – onlinecode

In this post we will give you information about What is $this Variable Vs self in PHP OOPs Tutorial – onlinecode. Hear we will give you detail about What is $this Variable Vs self in PHP OOPs Tutorial – onlinecodeAnd how to use it also give you demo for it if it is necessary.

$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='onlinecode';
  4.     public functionaNonStaticMethod(){
  5.         echo$this->name;
  6.     }
  7. }
  8. $p1=newProduct();
  9. $p1->aNonStaticMethod();
  10. ?>
<?php
class Product { 
	public $name='onlinecode';
	public function aNonStaticMethod() {
		echo $this->name;
	}
}

$p1 = new Product();

$p1->aNonStaticMethod();

?>


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='onlinecode';
  4.     public functiondisplay(){
  5.         echo self::$name;
  6.     }
  7. }
  8. $p1=newProduct();
  9. $p1->display();
  10. ?>
<?php
class Product { 
	public static $name='onlinecode';
	public function display() {
		echo self::$name;
	}
}

$p1 = new Product();

$p1->display();

?>

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

Make sure while calling static property and method from outside or within class. You can not call static property from outside of class using self keyword you need to use class name itself to call static property from outside of the class.

Label :

PHP

OOP

Object Oriented Programming

Web Development

Hope this code and post will helped you for implement What is $this Variable Vs self in PHP OOPs Tutorial – onlinecode. if you need any help or any feedback give it in comment section or you have good idea about this post you can give it comment section. Your comment will help us for help you more and improve us. we will give you this type of more interesting post in featured also so, For more interesting post and code Keep reading our blogs

For More Info See :: laravel And github

Leave a Comment

Your email address will not be published. Required fields are marked *

2  +  7  =  

We're accepting well-written guest posts and this is a great opportunity to collaborate : Contact US