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