gpt4 book ai didi

php - 在 PHP 中创建动态类变量是个好主意吗?

转载 作者:可可西里 更新时间:2023-11-01 00:11:01 24 4
gpt4 key购买 nike

在创建类时,我遵循 OO 约定并在使用它们之前声明所有类变量:

    class myClass {
private $property1, $property2, ...;

public __constructor() {
$this->property1 = $this->property2 = NULL;
}

}

但我意识到 PHP 是脚本语言,并没有严格遵循 OO 概念,因此我们可以动态“生成”类属性:

    class myClass {
public __constructor() {
$this->fields = $this->db->getFields(TABLE_NAME);

foreach($this->fields as $fld) {
$this->{$fld} = NULL;
}
}

}

这是一个好方法吗?我认为动态生成的属性在默认情况下具有公共(public)访问权限,因此这可能是一个缺点,而这种自动化可能是一个优点。在性能方面有什么不同吗?

最佳答案

不鼓励您这样做,但在某些情况下您只需要这样做(比如在 ORM 中,您似乎正在编写)。类应该有干净的接口(interface)(程序员需要知道他能用你的类做什么)。

但是有更好的方法来处理这些情况(至少,对我来说似乎更好)。在您的类中准备一个关联数据数组并使用 __get 方法。对于 ORM(您可以实现延迟加载等)它可能会更好。

关于php - 在 PHP 中创建动态类变量是个好主意吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6080349/

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