gpt4 book ai didi

PHP 如何创建一个名为 "do"的函数?

转载 作者:行者123 更新时间:2023-12-02 05:24:52 24 4
gpt4 key购买 nike

我看到一个库有一个名为“do”的方法

public function do

完全破坏了解析器解析错误:语法错误,意外的 T_DO,期望 T_STRING 在 ...

//same on call 
$obj->do()

解析错误:语法错误,意外的 T_DO,需要 T_STRING 或 T_VARIABLE 或 '$'

Gearman 顺便使用了一个“do”函数。

http://www.php.net/manual/en/gearmanclient.do.php

最佳答案

“do”是保留关键字:http://www.php.net/manual/en/reserved.keywords.php

在同一页面的评论中,您看到一位用户提到了解决此问题的方法。请记住,必须小心使用此方法:

// Now define a __call() method (requires PHP > 5.2.3 to take effect)
public function __call($func, $args)
{
switch ($func)
{
case 'list':
return $this->ls((isset($args[0]))? $args[0]: null);
break;
case 'unset':
return $this->rm($args[0]);
break;
default:
trigger_error("Call to undefined method ".__CLASS__."::$func()", E_USER_ERROR);
die ();
}

所以你看,你可以通过使用 __call 重载在任何类中使用 do 方法(或其他一些保留字)。在外部,此方法与传统定义的方法没有区别。

关于PHP 如何创建一个名为 "do"的函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7287833/

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