php 类里面怎么创建变量,在PHP中创建动态类变量是个好主意吗?

在创建类时,我遵循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;

}

}

}

这是一个好方法吗?

我认为动态生成的属性默认具有公共访问权限,因此这可能是一个缺点,这种自动化可能是一个优势.

在性能方面有什么不同吗?

解决方法:

你并不鼓励你这样做,但在某些情况下你只需要(就像在ORM中,你似乎在写作).类应该有干净的接口(程序员需要知道他可以对你的类做什么).

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

标签:php,oop

来源: https://codeday.me/bug/20190723/1516097.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值