When accessing a method or a property of an instantiated class
class SimpleClass
{
// property declaration
public $var = 'a default value';
// method declaration
public function displayVar() {
echo $this->var;
}
}
$a = new SimpleClass();
echo $a->var;
$a->displayVar();
It is used when referring to the attributes of an instantiated object.
e.g:
class a {
public $yourVariable = 'Hello world!';
public function returnString() {
return $this->yourVariable;
}
}
$object = new a();
echo $object->returnString();
exit();
The first, ->, is used when you want to call a method on an instance or access an instance property.
The second, ::, is used when you want to call a static method, access a static variable, or call a parent class's version of a method within a child class.