Re: Operator for functions
| From: | Aziz Saleh | Date: | Mon, 19 Dec 2016 21:08:23 +0000 |
| Subject: | Re: Operator for functions | ||
| References: | 1 | Groups: | php.general |
| Request: | Send a blank email to php-general+get-325902@lists.php.net to get a copy of this message | ||
On Mon, Dec 19, 2016 at 3:22 PM, Sam Hobbs <Sam@simplesamples.info> wrote:
> What is the "->" operator for functions called?
>
> At the bottom of PHP: Operators - Manual <yÖ!DÜ¿ACq¾‡Þ
> /;http://php.net/manual/en/lang
> uage.operators.php> (http://php.net/manual/en/language.operators.php) is
> the note:
>
> "The -> operator, not listed above, is called "object operator"
> (T_OBJECT_OPERATOR)."
>
> It has been down-voted 81 times. Is that because the operator is not
> called the "object operator"? Or is it because the note says that the
> operator is not listed?
>
> I apologize if my criticism is not appropriate, but the operator is not
> properly documented. The "->" operator should be listed among the other PHP
> operators and there should be documentation of it.
>
> The C++ standard calls the "." and "->" operators the "dot"
> and "arrow"
> operators, correspondingly. For example, see "5.2.4 Pseudo destructor call"
> in:
>
> http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n4296.pdf
> That is the latest draft of the newest C++ standard.
>
> PHP can call its "->" operator whatever the designers decide, but there
> should be a definition to eliminate the confusion of different names
> depending on personal preference. A book I am reading calls the operator
> the "arrow operator". Is it called the object operator (as implied by the
> tag) or the arrow operator or something else?
>
There is a difference between a token and an operator, I think people
usually confuse the two. The -> is a parser token, indeed called the
T_OBJECT_OPERATOR (not sure why that comment was downvoted).
Here is a complete list of PHP's parser tokens:
http://php.net/manual/en/tokens.php