Actually, when defining such a method, a parsing error occurs, its use is not performed, which allows you to use some workarounds:
class A { function __call($method, $args) { if ($method == 'new') {
The relative feature request for 2004 is still open.
Edit January 2016
Starting with PHP 7, it is now possible to name your methods using keywords that have been limited so far, thanks to Context Sensitive Lexer :
class Foo { public function new() {} public function list() {} public function foreach() {} }
You still can't name the Case class, I'm afraid.
Benjamin
source share