![]() |
Is the double colon var resolution valid in an Argument?
^^title speaks for itself^^
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ PHP Code:
This is also speaking for parent::*!*:-D*!*:-$:-@ Find the errors ;-) James UPDATE: oops sorry bout that >.< sorry |
Is this a joke of some sort? 'cuz I really don't get it. First of all, the big mistake is that you don't have a name for your method. Next to that, why would you want to do what you just wrote? I don't even want to know whether that is valid or not (but I'm pretty sure it isn't). I would never want to write a function that gets a variable as a parameter and returns it unchanged, but rather just use the damned variable. Especially not with a class constant or static variable, which is always available from within the class is declared, with self::const/$static.
Other than that, you're crazy :-P |
The simple answer to your question is, no. Trying to use a constant of any kind (class or global) will result in a parse error, "syntax error, unexpected T_CONST, expecting T_VARIABLE". The error is pretty self-explanatory, the PHP engine expects a standard, normal, garden-variety variable (a reference or otherwise) as an argument.
If you were to try this with a static variable ( public static $test = ... and self::$test as the function argument) then you would also get a parse error, this time saying: "syntax error, unexpected T_PAAMAYIM_NEKUDOTAYIM, expecting '&' or T_VARIABLE". Again it's clear that PHP really, really only wants a regular variable in there (the T_PAAMAYIM_NEKUDOTAYIM is just a constant for the '::' or T_DOUBLE_COLON operator).If you tried to use an object property as the argument ( $this->test) then I think you can guess the likely outcome from the examples given so far. :-PIn short, you can only use a normal variable ( $test) or reference (&$test) as arguments. |
Okay, thank you.
|
Quote:
|
| All times are GMT. The time now is 05:14 PM. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2013, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.1.0