使用数组作为函数参数的最佳实践是什么?

I'm an intermediate programmer who works with PHP mostly. Recently, I noticed that many PHP developers use arrays as function arguments in their code. I'm little sceptic of using arrays like that, as some of the people in my workplace said that it's not the best practice.

For example, I have this piece of code in one of my WordPress projects right now, it might not make sense to you completely, but it's relevant:

<?php
/**
 * Print a list of featured posts.
 *
 * @param  $args Array  Function Arguments
 * @return $html String The final markup
 */
if( function_exists( 'abc_featured_posts_list' ) ) :
  function abc_featured_posts_list( $args = array(
    'number'  => 8,
    'image'   => 'path/to/default.image',
    'wrapper' => false,
    'style'   => 'minimal'
  ) ) {
    // Storage for the list markup
    $html = null;

    ...
    ...

    return html;
  }
endif;  
?>

It's the first time I'm passing arguments like this in a PHP function. Is it the right way to do that? What is the advantage of using an array over a bunch of variables in such a case?

dongshen6060
dongshen6060 对于支持你的决定的每一个论点,我都可以找到反对它的另一个,反之亦然。你的问题很笼统,但后来你给了它上下文(wordpress)。但是,确定上下文(wordpress和与同事合作)是否正常的唯一方法是询问-获得的收益是多少?那么,有什么好处呢?
大约 2 年之前 回复
dongzhuji1042
dongzhuji1042 我的两分钱(这只是我的观点),是使用数组作为参数是好的,如果它像过滤一些结果(像一堆搜索条件等像WP的get_posts()),其中不需要任何参数以及任何组合有效的地方。如果您有必要或关键的参数,那么它们应该是他们自己的参数。尽管如此,记录所有可能的参数非常重要。
大约 2 年之前 回复
dri98076
dri98076 我相信在存在社区的地方可以有最好的做法。我问这是否是进行此类编程任务的正确方法,我认为这些任务包括询问货物和坏货。寒意。
大约 2 年之前 回复
donglilian0061
donglilian0061 这对我来说听起来不错。我会尝试以OOP的方式来了解更多信息。感谢您的答复:)
大约 2 年之前 回复
donglefu6195
donglefu6195 你提出问题是为了满足想象中的编程批评者,但你永远不会问到收益是什么。当你应用技巧,方法等时,你需要获得一些东西。另外,wordpress和最佳实践......听起来像是一个很好的开玩笑的介绍。
大约 2 年之前 回复
dongni1892
dongni1892 这一直取决于它。最大的缺点是它基本上没有类型,很难预测,检查或重构。但这很简单。可以说一个函数不应该接受那么多的参数。如果需要,配置对象或其他OOP方法可能会有所帮助。
大约 2 年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐