What are the different ways where we can use object operators ->
in PHP?
-
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.– DeltaFlyerCommented Nov 16, 2018 at 22:12
-
4@DeltaFlyer Vote for reopening this question– StephanCommented Apr 20, 2020 at 11:20
6 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.
-
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 ? Commented Nov 28, 2020 at 15:11
-
5@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". Commented Jan 31, 2022 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();
-
8like object->method_name(); or object->prop_name; it means its more like dot(.) operator to access class methods and attributes.– nectarCommented Jun 14, 2010 at 13:26
-
2Similar to the . class operator in java, yes... but see the PHP class documentation for details Commented Jun 14, 2010 at 13:29
Call a function:
$foo->bar();
Access a property:
$foo->bar = 'baz';
where $foo
is an instantiated object.
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();
"->" 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.
arrow operator(->): It is an access operator used to access data members and methods in a class in PHP. It is the same as the (.) operator which we use in javascript, c++.
-
1As it’s currently written, your answer is unclear. Please edit to add additional details that will help others understand how this addresses the question asked. You can find more information on how to write good answers in the help center.– jv-kCommented Jan 16, 2023 at 15:33