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