views:

114

answers:

1

I'm doing MVC in PHP, and i'd like to have a list() method inside my Controller, to have the URL /entity/list/parent_id, to show all the "x" that belong to that parent.

However, I can't have a method called list(), since it's a PHP reserved keyword.

In VB.Net, for example, if I need to have something with a name that clashes with a reserved keyword, I can wrap it in [reserved_name].
In SQL, you can do the same thing.
In MySQL, you use the backtick `

Is there some syntax in PHP that specifies "treat this as an identifier, not as a keyword"?

(NOTE: I know I can use routes to do this without having a list() method. I can also simply call the action something else. The question is whether PHP provides this kind of escaping)

Thanks!
Daniel

+1  A: 

With variable names you can use the bracket signs:

${'array'} = "test";
echo ${'array'};

But PHP does not provide a method for escaping function names.

If you want a 'user-defined' way of getting around this, check out this comment:

http://www.php.net/manual/en/reserved.keywords.php#93368

Chacha102
on functions it's a parse error
Vinko Vrsalovic
Thanks! That PHP.net article nails it. Unfortunately, it doesn't work with CakePHP, which is probably enumerating all methods of the Controller, instead of just trying to call it. Oh well, off to look for synonims to list :-)
Daniel Magliola