gpt4 book ai didi

PHP 使用语言构造与魔术方法相结合

转载 作者:行者123 更新时间:2023-12-02 02:26:39 25 4
gpt4 key购买 nike

这个question让我对将语言结构与 PHP 的神奇方法结合使用感到好奇。我创建了一个演示代码:

<?php
class Testing {

public function scopeList() {
echo "scopeList";
}

public function __call($method, $parameters) {
if($method == "list") {
$this->scopeList();
}
}

public static function __callStatic($method, $parameters) {
$instance = new static;
call_user_func_array([$instance, $method], $parameters);
}
}

//Testing::list();
$testing = new Testing();
$testing->list();

为什么 Testing::list() 会抛出语法错误,而 $testing->list() 不会?

由于 php reserved keywords两者都应该失败吗?

最佳答案

PHP 7.0+ 现在支持上下文敏感标识符,您的代码可以轻松运行。更新您的 PHP 将解决该问题。

这是经过批准的进行更改的 RFC:https://wiki.php.net/rfc/context_sensitive_lexer .

您可以在以下(非官方)PHP 7 引用中获取有关新功能和重大更改的更多信息:https://github.com/tpunt/PHP7-Reference#loosening-reserved-word-restrictions

关于PHP 使用语言构造与魔术方法相结合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34353400/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com