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.
- <?php
- class Product {
- public $name='onlinecode';
- public functionaNonStaticMethod(){
- echo$this->name;
- }
- }
- $p1=newProduct();
- $p1->aNonStaticMethod();
- ?>
<?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 :
- <?php
- class Product {
- public static$name='onlinecode';
- public functiondisplay(){
- echo self::$name;
- }
- }
- $p1=newProduct();
- $p1->display();
- ?>
<?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.
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