开发者社区> 问答> 正文

PHP 在类里动态设置一个属性,如何让其为private ?报错

我把数据表里的字段读取出来,然后在一个类里面动态把这些字段设置为当前这个类的一个属性,

例:

class test{

    public function __construct(){

        $fields = array('id','name');//这个数组是动态在库里读取的

        $this->$fields[0] = '11'; //把id设置为类的属性

    }

}

$t = new test();

echo $t->id;

展开
收起
一枚小鲜肉帅哥 2020-06-20 19:59:48 1203 0
1 条回答
写回答
取消 提交回答
  • 菜不可及的程序猿

    class test{

      private  $id;

    } 比如用查出的数组映射到一个private数组。 如果说你的熟悉是动态的话,那就要变通的方法,类里面是不能动态生成属性的。 初始化时构造函数里初始化,或者写个成员函数赋值。######属性是动态从数据库里读取出来的。######设置__get和__set()######magic method 里面自己写个 filter 限制一下能读取的“变量名”就行了

    2020-06-20 20:20:29
    赞同 展开评论 打赏
问答分类:
PHP
问答地址:
问答排行榜
最热
最新

相关电子书

更多
PHP 2017.北京 全球开发者大会——高可用的PHP 立即下载
PHP安全开发:从白帽角度做安全 立即下载
复杂PHP系统性能瓶颈排查及优化 立即下载