gpt4 book ai didi

oop - 在加载类时执行方法

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

我需要一个静态构造函数。我一直想知道为什么不支持此功能。

我需要在加载类时运行一次函数,目前我看到的做法是在类声明之后在文件中包含一堆代码。在您需要修改类的 protected 或私有(private)成员之前,这种方法一直有效,然后您需要在类本身上定义一个函数,然后从那里调用它,这一切都完成了工作,但对我来说似乎很老套。

我继续做的是在我的加载器类中,在包含语句之后我添加了一点点:

if (method_exists($class, 'onLoad')) {
$class::onLoad();
}

不过,我对此表示怀疑,因为请求中可能包含相当多的类。这是针对每个请求的,所以最终这个可能加起来需要一些处理器时间——这让我想到了我想问的问题,因为没有多少类(class)甚至有onLoad 方法:

您认为这是对我的框架的合理补充吗?

编辑:关于建议的可能重复问题 - 我不是在要求单例,这不是静态类,它可以自由实例化。

最佳答案

你的“SomeClass.class.php”文件没有理由不能像这样:

class SomeClass {
public static function onLoad() {
// ...
}
// ...
}

SomeClass::onLoad();

这是否是一个好主意还有待商榷,但我认为以这种方式添加到类文件中的初始化代码没有任何过分的错误。

关于oop - 在加载类时执行方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32107023/

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