單例模式: 保證一個類僅有一個實例,並提供一個訪問他的全局訪問點例如框架中的數據庫鏈接php
策略模式: 針對一組算法,將每個算法封裝到具備共同接口的獨立的類中,例如進入我的主頁時,根據瀏覽者的不一樣,給予不一樣的顯示與操做。mysql
註冊模式: 提供了在程序中有條理的存放並管理一組全局對象 (object),例如ZF框架中的Zend_Registry::set。算法
適配器模式: 將不一樣接口適配成統一的API接口,例如數據操做有mysql、mysqli、pdo等,可利用適配器模式統一接口sql
觀察者模式: 一個對象經過添加一個方法使自己變得可觀察。當可觀察的對象更改時,它會將消息發送到已註冊的觀察者。例如實現實現消息推送數據庫
裝飾器模式: 不修改原類代碼和繼承的狀況下動態擴展類的功能,例如框架的每一個Controller文件會提供before和after方法設計模式
迭代器模式: 提供一個方法順序訪問一個聚合對象中各個元素,在PHP中將繼承 Iterator 類數組
GET是從服務器上獲取數據,POST是向服務器傳送數據安全
GET是經過發送HTTP協議經過URl參數傳遞進行接收,而POST是實體數據,經過表單提交服務器
GET傳送的數據量較小,不能大於2KB。POST傳送的數據量較大,通常被默認爲不受限制。cookie
GET安全性很是低,POST安全性較高
session:存儲在服務器上的php指定的目錄中的(session_dir)的位置
cookie:存儲在客戶端,對於Cookie來講是存儲在用戶WIN的Temp目錄中的。
事務:指做爲一個單元的一組有序的數據庫操做。若是組中的全部操做都成功,則認爲事務成功,即便只有一個操做失敗,事務也不成功。若是全部操做完成,事務則提交,其修改將做用於全部其餘數據庫進程。若是一個操做失敗,則事務將回滾,該事務全部操做的影響都將取消。
MyISAM:成熟、穩定、易於管理,快速讀取。一些功能不支持(事務等),表級鎖。
InnoDB:支持事務、外鍵等特性、數據行鎖定。空間佔用大,不支持全文索引等。
echo date('Y-m-d H:i:s',time());
now(); date();
smarty 模板引擎
按值傳遞:函數內對值的任何改變在函數外部都會被忽略。
引用傳遞:函數內對值的任何改變在函數外部也能反映出這些修改。
應用場景:按值傳遞時,php必須複製值,而按引用傳遞則不須要複製值,故引用傳遞通常用於大字符串或對象。
確認服務器硬件是否足夠支持當前的流量
數據庫讀寫分離,優化數據表
程序功能規則,禁止外部的盜鏈,控制大文件的下載
使用不一樣主機分流主要流量
require:無條件包含,即在一個流程裏的require,不管條件成立與否都會先執行。當包含文件不存在或語法錯誤致命錯誤時,會終止程序執行。
include:有返回值,當包含文件不存在或語法錯誤致命錯誤,不會終止程序執行。
可使用include_once();或require_once();代替。
echo :是語句不是函數,沒有返回值,可輸出多個變量值,不能輸出數組和對象,只能打印簡單類型(如int,string)。
print :是語句不是函數,有返回值 1 ,只能輸出一個變量,不能輸出數組和對象,只能打印簡單類型(如int,string)。
print_r :是函數,能夠打印複合類型,例如:float、array、object等。
printf :是函數,把文字格式化之後輸出。
sprintf :是函數,不打印,而是返回格式化後的文字,其餘的與printf同樣。
var_dump :函數,輸出變量的內容、類型或字符串的內容、類型、長度。經常使用來調試。