首先需要安装runkit扩展
这是原有类
namespace Fyn;
class Hello
{
public function say(string $name): string {
return sprintf('Hello %s', $name);
}
}
通过runkit覆盖(必须先将类load进来才能覆盖)
if (class_exists(\Fyn\Hello:class)) {
runkit_method_redefine(
\Fyn\Hello:class,
'say',
'$msg',
'return "Nihao {$msg}";'
);
}
更多方法:http://php.net/manual/zh/book.runkit.php
不建议在生产环境中使用