Can I use PHP reserved names for my functions and classes?
Actually, while defining such a method results in a parse error, using it does not, which allows some kind of workarounds:
class A {
function __call($method, $args) {
if ($method == 'new') {
// ...
}
}
}
$a = new A;
$a->new(); // works!
A related feature request dating back to 2004 is still open.
Edit January 2016
As of PHP 7, it is now possible to name your methods using keywords that were restricted so far, thanks to the Context Sensitive Lexer:
class Foo {
public function new() {}
public function list() {}
public function foreach() {}
}
You still can't, however, name your class Case
I'm afraid.
No, you can't. Thank god.
You can't do that, an alternative option is to just use _case() or _new() as the function names
Also check out:
Is it possible to "escape" a method name in PHP, to be able to have a method name that clashes with a reserved keyword?