What are the different ways where we can use object operators -> in PHP?
- 30,030
- 21
- 100
- 124
- 9,095
- 34
- 77
- 100
-
10Why is this closed? People are upvoting this question 8 years later, and there are sufficient answers to the question. Clearly, it's pretty easy to see what's being asked here. – DeltaFlyer Nov 16 '18 at 22:12
-
4@DeltaFlyer Vote for reopening this question – Stephan Apr 20 '20 at 11:20
5 Answers
PHP has two object operators.
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.
- 84,782
- 17
- 123
- 168
-
4Is there a name for the "->" operator ? I guess the "::" I would just call it double colon.. but this one "->" how would I call it? property accessor operator ? – Pablo Camara Nov 28 '20 at 15:11
-
2@PabloCamara The first one is called the object operator and the second the class operator. I couldn't imagine someone calling something the "double colon". – user904963 Jan 31 '22 at 20:07
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();
- 205,174
- 31
- 336
- 380
-
8like object->method_name(); or object->prop_name; it means its more like dot(.) operator to access class methods and attributes. – nectar Jun 14 '10 at 13:26
-
2Similar to the . class operator in java, yes... but see the PHP class documentation for details – Mark Baker Jun 14 '10 at 13:29
Call a function:
$foo->bar();
Access a property:
$foo->bar = 'baz';
where $foo is an instantiated object.
- 26,423
- 40
- 113
- 147
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();
- 5
- 4
- 1,136
- 1
- 9
- 19
"->" operator is the PHP related callable content. always use to call an instance method and access instance.
"::" scope operator is used for the instance that is used for calling the static method and constant it's very different with::
It's a proper reply to them, I have got new knowledge.
Please check the name conflicts for the above different operator.
- 11
- 1