a6266318 发表于 2017-4-5 10:52:29

提高php代码可读性的三个技巧【转】

提高php代码可读性的三个技巧
1.让代码的逻辑结构清楚
不清楚的写法:

[*]if($userLoggedIn)
[*]{
[*]   // 上百行代码...
[*]}else{
[*]   exit();
[*]}

清楚的写法:

[*]if(!$userLoggedIn)
[*]{
[*]   exit();
[*]}
[*]
[*]// 上百行代码...

2.用foreach:endforeach,for:endfor,if:endif,这样的语法来写模板里的代码
可读性不好的写法:

[*]echo "<table size=\"100\">\n";
[*]echo " <tbody>\n";
[*]
[*]if($displayResults) {
[*]while($row = mysql_fetch_assoc($result)) { ?>
[*]  echo "<tr>\n";
[*]  echo "<td>" . htmlentities($row['id']) . "</td>\n";
[*]  echo "</tr>\n";
[*]  }
[*]}
[*]
[*]echo "</tbody>\n";
[*]echo "</table>\n";
[*]?>
[*]?>

用end…的写法:

[*]<table>
[*]<tbody>
[*]  <?php if($displayResults): ?>
[*]  <?php while($row = mysql_fetch_assoc($result)): ?>
[*]  <tr>
[*]<td><?php echo htmlentities($row['id']); ?></td>
[*]  </tr>
[*]  <?php endwhile; ?>
[*]  <?php endif; ?>
[*]</tbody>
[*]</table>

  3.多用sprintf等函数
  看着头疼的写法:

[*]$sql = "SELECT col1, col2, col3 FROM people WHERE first_name = '" . mysql_real_escape_string($first_name). "' AND last_name = '" . mysql_real_escape_string($last_name) . "'AND foo = '" . ($bar = "good" ? "good": "bad") . "' ORDER BY col1" ;

用了sprinf之后的写法:

[*]$sql = 'SELECT col1, col2, col3 ' .
[*]   'FROM people ' .
[*]   'WHERE first_name = "%s" ' .
[*]   'AND last_name = "%s" ' .
[*]   'AND foo = "%s" ' .
[*]   'ORDER BY col1 ';
[*]
[*]
[*]$sql = sprintf($sql, mysql_real_escape_string($first_name),
[*]   mysql_real_escape_string($last_name),
[*]   ($bar = "good" ? "good" : "bad"));

可读性提高了不少吧?
原文链接(英文):
Three Quick Tips To Make Your PHP Understandable
页: [1]
查看完整版本: 提高php代码可读性的三个技巧【转】