Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/265.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何将一些代码重构为函数?_Php - Fatal编程技术网

Php 如何将一些代码重构为函数?

Php 如何将一些代码重构为函数?,php,Php,我用php编写了这段代码,从数据库中获取一些数据并将其显示在页面上,但我只想在表不是空的情况下显示它 这就是我现在拥有的(所有问题标签都是硬编码的,它们不是来自DB): 事实上,这里有重复的代码,因此尝试消除它是一个好主意 你可以做: function askQuestion($data, $question){ if($data !='') { echo "<span class='question'>$question</span><span cl

我用php编写了这段代码,从数据库中获取一些数据并将其显示在页面上,但我只想在表不是空的情况下显示它

这就是我现在拥有的(所有问题标签都是硬编码的,它们不是来自DB):


事实上,这里有重复的代码,因此尝试消除它是一个好主意

你可以做:

function askQuestion($data, $question){
  if($data !='') {
     echo "<span class='question'>$question</span><span class='answer'>".$data.'</span><br />';
   }
}
而且,作为一般的经验法则:当你要重构代码时,不要忘记首先进行非回归测试(因为当我们试图改进代码时,破坏代码太糟糕了)


最后一条建议:如果您必须定期使用遗留代码库,您可能需要阅读,其中提供了许多实用技巧,可以将这些代码库转换为更易于使用的代码库。

谢谢,一切都很好,谢谢您的建议:)
function askQuestion($data, $question){
  if($data !='') {
     echo "<span class='question'>$question</span><span class='answer'>".$data.'</span><br />';
   }
}
foreach ( $answers as $a )   {
  askQuestion($a->q2, "Question title?");
  askQuestion($a->q3, "Question label 2?");
  // and so on