php变量和数组或直接代码?

时间:2011-04-19 00:53:31

标签: php coding-style variable-variables

我正在使用代码点火器。

我有很多物品通过邮寄发送,有些会被设定,有些会不会。

我有两种方法可以解决同样的问题。

/*DYNAMIC CODING */

$fields = array(
  'field1', 'field2',
  'field3', 'field4',
  'field5', 'field6',
  'fiel'... ...);

foreach($fields as $f)
  $$f = $this->input->post($f);

/* OR LITERAL CODING? */

  $field1 = $this->input->post('field1');
  $field2 = $this->input->post('field2');
  $field3 = $this->input->post('field3');
  $field4 = $this->input->post('field4');
  $field5 = $this->input->post('field5');
  $field6 = $this->input->post('field6');
  $field7 = $this->...

这两种方法都有用,我的问题是,有没有理由使用其中一种?

4 个答案:

答案 0 :(得分:4)

根据我的经验使用动态编码,因为这是我个人的偏好。

如果您的偏好是其中之一,那么请使用您认为合适的任何内容,如果您使用其他人编辑代码的方式进行编码,则无论您选择什么,请确保添加;

// a comment

解释你的代码。使用其中任何一个都会使处理时间与最小的不明显的毫秒数不同,但是从长远来看,理解你的代码并正确地评论它将为你节省超过几毫秒的时间!

答案 1 :(得分:1)

当你在IDE中使用变量自动完成功能时,文字编码可能会更好,如果你使用它(比如eclipse)

否则,你喜欢哪种风格

答案 2 :(得分:1)

文字编码可能具有较小的性能优势(因为动态代码首先生成一个数组,然后在其上循环。)

但对我而言,动态代码更像是我们的谈话和思考方式。你没有说“今天我去了杂货店然后我去了保龄球馆然后去了我朋友的家”,你说“今天我去了杂货店,保龄球馆和我朋友的家。”此外,动态代码更简洁,减少了查看大量代码行的愚蠢需求(使用数组,一旦看到模式就会知道它会是什么),你可以立即看到发生了什么,它看起来更好。

但这实际上取决于你的编码方式。有些人会完全不同意我说的话,有些人会同意。如果你能够轻松地看到长重复的线条,那就去吧。但无论你做什么,都不要忘记最重要的编码最佳实践:评论。

答案 3 :(得分:0)

你应该使用第一个选项,带有一个值数组和一个循环,因为这些变量将来可能会改变,更新数组要比更新多行代码简单得多。

我还猜你还需要在路上的其他地方引用这些字段名称。