PHP和MYSQL製作動態網站開發經驗之談

來源:互聯網
上載者:User

一. 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.善於用三元運運算元,可以讓程式較精簡有效率。

比如:

if ($data[$i][’nickname’])
{
$nickname =  $data[$i][’nickname’];
}
else
{
$nickname =  $data[$i][’ip’];
}

可以寫成:

$nickname =  $data[$i][’nickname’] ? $data[$i][’nickname’] : $data[$i][’ip’];

3.善於組織if...else...

比如:

$ext_name = strtolower(str_replace(".", "", strrchr($upfilename, ".")));
if (!empty($type))
{
if (!strpos($type, $ext_name))
{
echo "Please upload the file of $type form.";
exit();
}
}

上面的代碼你應該寫成這樣:

$ext_name = strtolower(str_replace(".", "", strrchr($upfilename, ".")));
if (!($type===’’) && strpos($type, $ext_name)===false)
{
echo "Please upload the file of $type form.";
exit();
}

4.盡量讓你的代碼清淅些

如果寫成這樣,是比較讓人頭痛的:

$foo=$_post["foo"];
$username=$_post["user"];
$group=$_POST["group"];
if ($group=="wheel"){
$username=$username."wheel";
}

同樣的代碼,這樣就比較讓人看得舒服了:

$foo      = $_post["foo"];
$username = $_post["username"];
$group    = $_POST["group"];
if ($group=="wheel")
{
$username = $username."wheel";
}

當然,有一定基礎後,你應該要寫成這樣:

$foo      = &$_POST[’foo’];
$username =  $_POST["group"]!=’wheel’ ? $_POST["username"] : $_POST["username"].’wheel’;

5.編寫規範的mysql 語句。

欄位和表名用"`"引起來,避免保留字的影響。

如果看到下面這樣的一個sql query,會讓人比較頭痛:

$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,寫成這樣就令人看得明白得多了:

$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`";



相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.