提高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]