php+mysql紮實個人基本功

一. 10句話
1.不要依賴register_global=ON的環境,從你剛懂得配置php運行環境甚至尚不明白register_global的ON/OFF會對自己有什麼影響的那天起,就應該勇敢地把它設為OFF.
2.寫程序前看看怎麼用error_reporting.
3.不懂就問本身沒錯,但你需要在那之前查查手冊。
4.當然,你需要懂得使用手冊。手冊上找不到答案的時候,應該考慮下網絡上的搜索引擎。
5.剛學會php+mysql之後,不要叫嚷著要寫論壇,要寫XXX。要明白,剛學會寫漢字並不表示你有能力寫詩。
6.在學web編程的時候,你應該先去認識html這個朋友。
7.有點能力後,試著回答新手的問題,不要看到自己懂的而別人不懂就沾沾自喜,扔下一名“簡單,那是基本的東西”就走更要不得。
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`”;

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。