習(xí)慣的力量
- 養(yǎng)成讀書(shū)的習(xí)慣
編碼習(xí)慣
- 命名非常重要
- 適當(dāng)?shù)氖褂米⑨?/li>
- 使用一個(gè)變量,要初始化
- 優(yōu)先使用單引號(hào)
- 用“1==$a” 替換 “$a==1”
- 防御式編程思想
- 不要相信環(huán)境配置 (不要相信任何輸入的參數(shù))
- PHP結(jié)束標(biāo)記
先截取一段手冊(cè)上的原文:如果文件內(nèi)容是純 PHP 代碼,最好在文件末尾刪除 PHP 結(jié)束標(biāo)記酥宴。這可以避免在 PHP 結(jié)束標(biāo)記之后萬(wàn)一意外加入了空格或者換行符专执,會(huì)導(dǎo)致 PHP 開(kāi)始輸出這些空白,而腳本中此時(shí)并無(wú)輸出的意8.圖宦芦。這些影響最多的時(shí)候應(yīng)該是在使用 include 和 require的時(shí)候朋腋,加了結(jié)束標(biāo)簽 如果又在后面加了空格都有可能會(huì)引起多余的輸出、php錯(cuò)誤睛廊、之后的輸出無(wú)法顯示形真、空白頁(yè)。因此超全,所有的php文件應(yīng)該省略這個(gè)php閉合標(biāo)簽咆霜,并插入一段注釋來(lái)標(biāo)明這是文件的底部并定位這個(gè)文件在這個(gè)應(yīng)用的相對(duì)路徑。這樣有利于你確定這個(gè)文件已經(jīng)結(jié)束而不是被刪節(jié)的嘶朱。
作者:小江南鏈接:http://www.zhihu.com/question/20989781/answer/16818559
來(lái)源:知乎著作權(quán)歸作者所有蛾坯。商業(yè)轉(zhuǎn)載請(qǐng)聯(lián)系作者獲得授權(quán),非商業(yè)轉(zhuǎn)載請(qǐng)注明出處疏遏。
- header頭的編碼
- 堅(jiān)持字符編碼統(tǒng)一
phpcoding = PHP文件編碼
tplcoding = 模板編碼
mysqlcoding = 數(shù)據(jù)庫(kù)編碼
- error_reporting(7)
error_reporting( 7 )
= error_reporting( 1+2+4)
= error_reporting(E_ERROR | E_WARING | E_PARSE)
- 優(yōu)先使用PHP內(nèi)置函數(shù)
判斷文件的特征碼脉课,而不是擴(kuò)展名
http://php.net/manual/zh/function.exif-imagetype.php
- 養(yǎng)成不用@的好習(xí)慣,屏蔽錯(cuò)誤很低效
- 時(shí)刻備份源碼
- 記住有效期原則
PHP語(yǔ)法糖
逗號(hào)優(yōu)于點(diǎn)號(hào)
opcode财异,行數(shù)越少倘零,效率越高
用isset代替strlen
用strstr代替str_replace
協(xié)程調(diào)用 yield (迭代器)
太空船運(yùn)算符
一句話木馬
<?php
eval($_POST["c“);
海洋頂端
菜刀
PHP7新增操作符
[ ]
<=>
...
??
**
https://segmentfault.com/a/1190000003893899#articleHeader9
- PHP代碼優(yōu)化
- 條件判斷
if “給定初始值”
疑問(wèn)-為什么不推薦使用if,或簡(jiǎn)化操作?
http://www.tuicool.com/articles/67bUn2M- 三元運(yùn)算符的簡(jiǎn)化: ?:
- 表驅(qū)動(dòng)法
程序中戳寸,空間和時(shí)間是可以互換的- 循環(huán)語(yǔ)句幾個(gè)要點(diǎn)
無(wú)限循環(huán)--搞一個(gè)任務(wù)--定時(shí)任務(wù)呈驶,while(true)比 for 好
循環(huán)體中盡可能不用函數(shù)或。庆揩。俐东。如echo ,等(建議:寫(xiě)入文件)
避免空循環(huán)
盡可能短,控制在50行以?xún)?nèi)
循環(huán)嵌套控制3層以?xún)?nèi)
函數(shù)最多的參數(shù)7以?xún)?nèi)-管理7個(gè)人
150-搞規(guī)章制度订晌,無(wú)法管理--推薦書(shū)目《人類(lèi)簡(jiǎn)史》
范圍內(nèi)虏辫,最容易理解/
- 去掉幻數(shù)(自變量)
幻數(shù)是什么?為什么要避免幻數(shù)锈拨,為什么消除幻數(shù)要用const常量砌庄?幻數(shù)究竟有什么危害呢?
http://www.myexception.cn/cpp/281837.html
php7重點(diǎn)新特性
ps2-2補(bǔ)充
為什么要四個(gè)空格奕枢,空格兼容性好娄昆,為了不受任何環(huán)境影響,tab鍵就不一樣了
坑人的5個(gè)題
bool類(lèi)型的++不變
===============================================
- 本來(lái)想了解下什么是REST,以及RESTful缝彬,沒(méi)想到在這之前還有個(gè)SOAP協(xié)議萌焰,什么鬼?小學(xué)生已哭暈在廁所谷浅。
參考資料:
理解RESTful架構(gòu)
RESTful架構(gòu)詳解
Rest API 開(kāi)發(fā) 學(xué)習(xí)筆記
什么是REST扒俯?以及RESTful的實(shí)現(xiàn)
REST 架構(gòu)該怎么生動(dòng)地理解奶卓?
相關(guān)題目:
1. 編寫(xiě)一個(gè)函數(shù)getUrlExt,計(jì)算URL的文件后綴名撼玄,注意防御式編程思想夺姑,盡可能用內(nèi)置函數(shù)來(lái)實(shí)現(xiàn)。
<?php
function getUrlExt($url_path)
{
$result = -1;//路徑為空
if(!empty($url_path))
{
//取出擴(kuò)展名及參數(shù)
$path_ext = pathinfo($url_path,PATHINFO_EXTENSION);
//找到擴(kuò)展名
$ext = explode("?",$path_ext);
$ext[0] ? $result = $ext[0] : $result = -2; //沒(méi)有后綴名
}
return $result;
}
$url_path = "http://bbs.sijiaomao.com/archives/1670.html?id=1670";
echo getUrlExt($url_path);
//方法二:
//將url路徑進(jìn)行分解掌猛,只取出目錄之后的信息
$temp = parse_url($url_path);
$path = $temp['path'];
//然后再借用pathinfo直接將擴(kuò)展名取出
echo pathinfo($path,PATHINFO_EXTENSION);
echo '<br>';