php – 当有许多要发送时,将值传递给函数的最佳方法?

当您必须将多个值传递给函数时,定义方法签名的最佳方法是什么,其中一些可能是可选的.在将来,我可能需要传递更多变量或减去一些传递给函数的值.

例如:(电话和地址是可选的)

function addInfo( $name, $dob, $phone='', $address='' ) {
       // Store data
}

addInfo( 'username', '01-01-2000', '1111111' ); // address is not given

要么

function addInfo( $info ) {
    // Store data
}

$info = array( 'name'=>'username', 
               'dob'=>'01-01-2000', 
               'phone'=>'1111111', 
               'address'=>'' );
addInfo( $info );

解决方法:

还有一种类似OOP的方式:使用字段’name’,’dob’,’phone’,’address’创建参数对象(例如,person)(这在Fowler的“Refactoring”一书中称为引入参数对象重构).
在您的情况下,这似乎是合适的,因为您传递给函数的所有字段实际上都与一个对象相关.

相关文章

统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
前言 之前做了微信登录,所以总结一下微信授权登录并获取用户...
FastAdmin是我第一个接触的后台管理系统框架。FastAdmin是一...
之前公司需要一个内部的通讯软件,就叫我做一个。通讯软件嘛...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...