10句話
1.唔好依賴register_global=ON既環境,從你剛懂配置php運行環境甚至仲未明白register_global既ON/OFF會對自己有咩影響既果日起,就應該勇敢地把它設為OFF.
2.寫程式前看看點用error_reporting.
3.唔識就問本身沒錯,但你需要在那之前查查手冊。
4.當然,你需要懂得使用手冊。手冊上搵唔到答案既時候,應該考慮下網路上既搜索引擎。
5.剛學會php+mysql之後,唔好叫嚷著要寫論壇,要寫XXX。要明白,剛學會寫漢字並唔表示你有能力寫詩。
6.在學web程式編輯既時候,你應該先去認識html呢個朋友。
7.有d能力後,試著回答新手既問題,唔好睇到自己識既而人地唔識就沾沾自喜。
8.思考係一個好習慣,唔動手去寫就等於空想,乜都冇。
9.寫好一段程式,如果覺得好滿意,一周後再看一遍,也許你會認為應該有所改變
10.有空多睇睇人地既程式,找出他人既不足或優點。
二. 各取所需
1.善於使用“引用”,它能直接影響到程式的效率。
2.善於用三元運算子,可以讓程式較精簡有效率。
比如:
PHP代碼:
if ($data[$i]['nickname']){
$nickname = $data[$i]['nickname'];
}
else{
$nickname = $data[$i]['ip'];
}
可以寫成:
PHP代碼:
$nickname = $data[$i][’nickname’] ? $data[$i][’nickname’] : $data[$i][’ip’];
3.善於組織if…else…回圈
比如:
PHP代碼:
$ext_name = strtolower(str_replace(”.”, “”, strrchr($upfilename, “.”)));
if (!empty($type))
{
if (!strpos($type, $ext_name))
{
echo “Please upload the file of $type form.”;
exit();
}
}
上面的代碼你應該寫成這樣:
PHP代碼:
$ext_name = strtolower(str_replace(”.”, “”, strrchr($upfilename, “.”)));
if (!($type===”) && strpos($type, $ext_name)===false)
{
echo “Please upload the file of $type form.”;
exit();
}
4.儘量讓你的代碼清淅些,如果寫成這樣,是比較讓人頭痛的:
PHP代碼:
$foo=$_post[”foo”];
$username=$_post[”user”];
$group=$_POST[”group”];
if ($group==”wheel”)
{
$username=$username.”wheel”;
}
同樣的代碼,這樣就比較讓人看得舒服了:
PHP代碼:
$foo = $_post[”foo”];
$username = $_post[”username”];
$group = $_POST[”group”];
if ($group==”wheel”)
{
$username = $username.”wheel”;
}
當然,有一定基礎後,你應該要寫成這樣:
PHP代碼:
$foo = &$_POST[’foo’];
$username = $_POST[”group”]!=’wheel’ ? $_POST[”username”] : $_POST[”username”].’wheel’;
5.編寫規範的mysql 語句。
字段和表名用”`”引起來,避免保留字的影響。
如果看到下面這樣的一個sql query,會讓人比較頭痛:
PHP代碼:
$query=”select `flash_comment`.`content` , `flash_comment`.`nickname` , `flash_comment`.`date` , `flash_comment`.`ip` , `product`.`p_name` , `sgflash`.`fid` from `flash_comment` left join `product` on ( `flash_comment`.`p_no` = `product`.`p_no` ) left join `sgflash` on ( `product`.`p_name` = `sgflash`.`f_name` ) where `flash_comment`.`p_no` != ” order by `flash_comment`.`date`”;
同樣的一個query,寫成這樣就令人看得明白得多了:
PHP代碼:
$query = “SELECT `flash_comment`.`content` , `flash_comment`.`nickname` , `flash_comment`.`date` , `flash_comment`.`ip` , `product`.`p_name` , `sgflash`.`fid` FROM `flash_comment` LEFT JOIN `product` ON ( `flash_comment`.`p_no` = `product`.`p_no` ) LEFT JOIN `sgflash` ON ( `product`.`p_name` = `sgflash`.`f_name` ) WHERE `flash_comment`.`p_no` != ” ORDER BY `flash_comment`.`date`”;
留言列表