The differences between the self and $this:

self operator represents the current class and thus is used to access class variables or static variables because these members belongs to a class rather than the object of that class.  $this represents the current object of a class. It is used to access non-static members of a class. 
Represents a class.Represents an instance of the class or object.
Never begin with a dollar($) sign.Always begin with a dollar ($) sign.
In order to access class variables and methods, a scope resolution operator is used :: operator.In order to access class variables and methods, an arrow operator is used (->).
The static property name after the :: operator always has the dollar ($) sign.
example, $this->property.
The property name after the object operator (->) does not have the dollar ($).

The differences between the self and $thisexpoundsofttechsolution The differences between the self and $this