我可以为我的函数和类使用PHP保留名吗?

我想创建一个名为“new”的函数和一个名为“case”的类。 我可以用PHP做到吗?     
已邀请:
不,你不能。感谢上帝。     
实际上,虽然定义这样的方法导致解析错误,但使用它不会,这允许某种变通方法:
class A {
    function __call($method, $args) {
        if ($method == 'new') {
            // ...
        }
    }
}

$a = new A;
$a->new(); // works!
可追溯到2004年的相关功能请求仍然有效。 编辑2016年1月 从PHP 7开始,由于Context Sensitive Lexer,现在可以使用目前受限制的关键字来命名您的方法:
class Foo {
    public function new() {}
    public function list() {}
    public function foreach() {}
}
但是,你仍然不能为你的班级命名
Case
我害怕。     
你不能这样做,另一种选择是只使用_case()或_new()作为函数名 还可以看看: 是否有可能“逃避” PHP中的方法名称,以便能够使用与保留关键字冲突的方法名称?     
默认情况下,它是不可能的,它们是保留字,您不能使用它们。 http://www.php.net/manual/en/reserved.keywords.php 也许你可以重新编译PHP或类似的东西来实现你的目标,但我认为(正如其他人回答你)这不是一个好主意:) HTH!     
按照本杰明所提到的,有一个有趣的使用“克隆”,(这是保留的)在这个类,第545行
 public function __call($method, $args)
{
    if ('clone' == $method) {
        return call_user_func_array(array($this, 'cloneRepository'), $args);
    } else {
        $class = get_called_class();
        $message = "Call to undefined method $class::$method()";
        throw new BadMethodCallException($message);
    }
}
    

要回复问题请先登录注册