使用反射在运行时更改 PHP 类和方法的内容?

发布于 2024-10-31 23:07:11 字数 173 浏览 0 评论 0原文

这只是为了好玩,请不要尖叫。

我想在运行时重写类方法的内容(我的意思是,不修改文件,只需替换/编辑代码在记忆中),这可能吗?

使用反射,还是其他什么?

请不要关闭这个问题,我正在寻找 runkit 之外的另一个答案。

This is for fun only, don't scream please.

I would like to rewrite the content of a class's methods at runtime (I mean, without modifying the file, only replacing/editing the code in memory), is that possible?

Using reflection, or anything else?

Don't close this question please, I'm looking for another answer than runkit.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

病女 2024-11-07 23:07:11

为什么不简单地创建一个新类来继承您想要修改的类并覆盖它的方法呢?

<?php
class MySimpleXML extends SimpleXMLElement {
    public function themethodiwanttooverwrite() {
        //...
    }
}
?>

只要该方法未标记为最终方法...

Why not simply create a new class that inherits from the one you want to modify and overwrite it's methods?

<?php
class MySimpleXML extends SimpleXMLElement {
    public function themethodiwanttooverwrite() {
        //...
    }
}
?>

As long as the method isn't marked as final...

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文