当您必须将多个值传递给函数时,定义方法签名的最佳方法是什么,其中一些可能是可选的.在将来,我可能需要传递更多变量或减去一些传递给函数的值.
例如:(电话和地址是可选的)
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”一书中称为引入参数对象重构).
在您的情况下,这似乎是合适的,因为您传递给函数的所有字段实际上都与一个对象相关.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。