家之言的經驗之談php+mysql紮實個人基本功
一. 10句話
1.不要依賴register_global=on的環境,從你剛懂得配置php執行環境甚至尚不明白register_global的on/off會對自己有什麼影響的那天起,就應該勇敢地把它設為off.
2.寫程式前看看怎麼用error_reporting.
3.不懂就問本身沒錯,但你需要在那之前查查手冊。
4.當然,你需要懂得使用手冊。手冊上找不到答案的時候,應該考慮下網路上的搜尋引擎。
5.剛學會php+mysql之後,不要叫嚷著要寫論壇,要寫***。要明白,剛學會寫漢字並不表示你有能力寫詩。
6.在學web程式設計的時候,你應該先去認識html這個朋友。
7.有點能力後,試著回答新手的問題,不要看到自己懂的而別人不懂就沾沾自喜,扔下一名「簡單,那是基本的東西」就走更要不得。
8.思考是乙個好習慣,不動手去寫就等於空想,什麼也沒有。
9.寫好一段程式,如果覺得很滿意,一周後再看一遍,也許你會認為它應該有所改變
10.有空多看看別人的程式,找出他人的不足或優點,自己掂量。
二. 各取所需
1.善於使用「引用」,它能直接影響到程式的效率。
2.善於用三元運運算元,可以讓程式較精簡有效率。
比如:
code:
[copy to clipboard]
if ($data[$i]['nickname'])
else
可以寫成:
code:
[copy to clipboard]
$nickname = $data[$i]['nickname'] ? $data[$i]['nickname'] : $data[$i]['ip'];
3.善於組織if...else...迴圈
比如:code:
[copy to clipboard]
$ext_name = strtolower(str_replace(".", "", strrchr($upfilename, ".")));
if (!empty($type))}
上面的**你應該寫成這樣:
code:
[copy to clipboard]
$ext_name = strtolower(str_replace(".", "", strrchr($upfilename, ".")));
if (!($type==='') && strpos($type, $ext_name)===false)
4.盡量讓你的**清淅些
如果寫成這樣,是比較讓人頭痛的:
code:
[copy to clipboard]
$foo=$_post["foo"];$username=$_post["user"];
$group=$_post["group"];
if ($group=="wheel")
同樣的**,這樣就比較讓人看得舒服了:
code:
[copy to clipboard]
$foo = $_post["foo"];
$username = $_post["username"];
$group = $_post["group"];
if ($group=="wheel")
當然,有一定基礎後,你應該要寫成這樣:
code:
[copy to clipboard]
$foo = &$_post['foo'];
$username = $_post["group"]!='wheel' ? $_post["username"] : $_post["username"].'wheel';
5.編寫規範的mysql 語句。
欄位和表名用"`"引起來,避免保留字的影響。
如果看到下面這樣的乙個sql query,會讓人比較頭痛:
code:
[copy to clipboard]
$query="select `flash_***ment`.`content` , `flash_***ment`.`nickname` , `flash_***ment`.`date` , `flash_***ment`.`ip` , `product`.`p_name` , `sgflash`.`fid` from `flash_***ment` left join `product` on ( `flash_***ment`.`p_no` = `product`.`p_no` ) left join `sgflash` on ( `product`.`p_name` = `sgflash`.`f_name` ) where `flash_***ment`.`p_no` != '' order by `flash_***ment`.`date`";
同樣的乙個query,寫成這樣就令人看得明白得多了:
code:
[copy to clipboard]
$query = "select `flash_***ment`.`content` , `flash_***ment`.`nickname` , `flash_***ment`.`date` , `flash_***ment`.`ip` , `product`.`p_name` , `sgflash`.`fid`
from `flash_***ment`
left join `product` on ( `flash_***ment`.`p_no` = `product`.`p_no` )
left join `sgflash` on ( `product`.`p_name` = `sgflash`.`f_name` )
where `flash_***ment`.`p_no` != ''
order by `flash_***ment`.`date`";
面試經驗之談
這裡是2017年11月7日,鄙人不才,17年應屆畢業,經驗不足,十一之後來到上海找工作,目前一無所獲。無奈,今天又逛了一趟培訓機構,看著和自己年齡相仿同學在前台焦急等待的時候感觸頗深,為什麼總是接到培訓機構的邀請,而不見想象之中offer也看不見期待的公司的回覆。剛好有哥哥姐姐在上海這邊,所以借住在...
併發控制經驗之談
多年使用鎖的經驗說明,我們很難駕輕就熟地使用鎖。併發的管理本來就非常棘手,而許多使用方法都可能導致錯誤。本文將總結一些併發控制中容易導致錯誤的東西。不明確的規則 恰當的鎖定模式需要清晰和明確的規則。當我們建立乙個可被並行訪問的物件時,應該同時定義用來控制訪問的鎖。鎖定模式必須在一開始就安排好,否則其...
幾次面試經驗之談
幾次面試經驗之談 文 飛天含雪 從十一假期結束到現在,近乙個月了,大大小小的面試總共參加了六七場,對面試有些感想,筆者知道網上談論該話題也多,但要麼片面,要麼扯淡,不僅達不到目的,反而有誤導民眾之嫌,筆者今日將經驗之談一一和盤托出,希望大家能有所借鑑。一 首當其衝 者 凶多吉少 收拾殘局 者 漁翁得...