数组赋值--通过构造方法灵活地实现对象参数初始化

本文探讨如何在PHP编程中通过构造方法有效地初始化对象,介绍如何借助函数和数组之间的转化,灵活处理对象参数。
摘要由CSDN通过智能技术生成
class Thing
{
    public $tid; 
    //$tid 所对应的构造参数是 $id
    public $name; 
    public $zone;
    public $publish_time
    public $smallimg_url;
    public $isRented;
    /**
     * ThingList constructor.
     * @param $tid 
     * @param $name
     * @param $zone
     * @param $publish_time
     * @param $smallimg_url
     * @param $isRented
     */
    public function __construct(array $option)
    {
        $this->tid = isset($option["id"])?$option["id"]:null;
        $this->name = isset($option["name"])?$option["name"]:null;
        $this->zone = isset($option["zone"])?$option["zone"]:null;
        $this->publish_time = isset($option["publish_time"])?$option["publish_time"]:null;
        $this->smallimg_url = isset($option["smallimg_url"])?$option["smallimg_url"]:null;
        $this->isRented = isset($option["isRented"])?$option["isRented"]:null;
    }

}

程序中还可以合理利用 extract()函数 和 compact()函数 灵活的运用变量和数组之间的互相转化。

  • 构造时如果已经有了所需的参数变量,所需要的 array $option ,可以使用 compact()函数获得。

    /**
    @param `$id`
    @param `$name`
    @param `$zone`
    @param `$publish_time`
    @param `$smallimg_url`
    @param `$isRented`
    上述变量都存在且已赋值
    **/
    
    $info = compact('id','name','zone','publish_time','smallimg_url','isRented');
    $thing = new Thing($info);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值