100

What are the different ways where we can use object operators -> in PHP?

2
  • 10
    Why 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, 2018 at 22:12
  • 4
    @DeltaFlyer Vote for reopening this question
    – Stephan
    Apr 20, 2020 at 11:20

6 Answers 6

139

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.

2
  • 4
    Is 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 ? 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".
    – user904963
    Jan 31, 2022 at 20:07
31

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();
2
  • 8
    like object->method_name(); or object->prop_name; it means its more like dot(.) operator to access class methods and attributes.
    – nectar
    Jun 14, 2010 at 13:26
  • 2
    Similar to the . class operator in java, yes... but see the PHP class documentation for details
    – Mark Baker
    Jun 14, 2010 at 13:29
11

Call a function:

$foo->bar();

Access a property:

$foo->bar = 'baz';

where $foo is an instantiated object.

4

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();
1

"->" 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.

-1

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++.

1
  • 1
    As 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-k
    Jan 16, 2023 at 15:33

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.