创建对象或者是一个函数操作的时候,如果参数的数量超过4个以上,应该用一个数组或者对象来整合这些参数。例如,初始化对象参数的时候,可以用一个数组来处理,通过构造方法灵活地实现对象参数初始化
class Thing
{
public $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);
点击查看更多内容
1人点赞
评论
共同学习,写下你的评论
评论加载中...
作者其他优质文章
正在加载中
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦