提高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 " )) ;
可读性提高了不少吧?