1. 程式人生 > >綜合學習---執行原理總結

綜合學習---執行原理總結

/****************************************************************************/
/*****************************執行原理總結***********************************/

/* Mysql執行原理 */
{
	1. 客戶端傳送一條查詢給伺服器;
	2. 伺服器先會檢查查詢快取,如果命中了快取,則立即返回儲存在快取中的結果。否則進入下一階段;
	3. 伺服器端進行SQL解析、預處理,再由優化器生成對應的執行計劃;
	4. MySQL根據優化器生成的執行計劃,呼叫儲存引擎的API來執行查詢;
	5. 將結果返回給客戶端。
}

/* PHP執行原理 */
{
	拿到一段程式碼後,經過詞法解析、語法解析等階段後,源程式會被翻譯成一個個指令(opcodes),然後ZEND(引擎)虛擬機器順次執行這些指令完成操作。
	[說明]
	1、PHP的執行的核心是翻譯出來的一條一條指令,也即opcode。
	2、Opcode是PHP程式執行的最基本單位。一個opcode由兩個引數(op1,op2)、返回值和處理函式組成。PHP程式最終被翻譯為一組opcode處理函式的順序執行。
}

/* 第三方支付原理 */
{
	1.1使用者向商城網站發起確認訂單的請求
  1.2商城網站接收到請求儲存訂單資料到資料庫或其他儲存介質
  1.3返回訂單確認頁面,頁面上應該顯示訂單金額等資訊
  1.4使用者確認支付,發起支付請求。注:支付請求是傳送到支付閘道器(比如支付寶、網銀線上)而不是傳送到商城網站。
  1.5顯示支付頁面
  1.6使用者填寫認證資訊(賬號密碼等)提交
  1.7這裡有兩個步驟一個是扣款成功後頁面跳轉到支付結果頁面(展示給使用者),另一個是支付通知,這兩步沒有先後順序可能同時執行,商城網站接收到支付通知
       後根據驗證規則驗證資訊的有效性,並作出相應的更改操作。(例:有效則更改訂單為已付款狀態,無效則記錄非法請求資訊)。
}

/* 第三方登入 */
{
	第三方登陸主要使用的是author協議,就以QQ的第三方登陸為例來進行說明:當用戶在我們的站點請求QQ的第三方登陸時,我們站點會引導使用者跳轉到QQ的登陸
	授權介面, 當用戶輸入QQ和密碼成功登入以後會自動跳回到我們站點設定好的回撥頁面,並附帶一個code引數,接著你使用code再次去請求QQ的授權頁面,
	就可以從中獲取到一個access token(訪問令牌),通過這個access_token,我們可以呼叫QQ提供給我們的介面,比如獲取open_id,可以獲取使用者的基本信
	息。獲取到之後,我們需要拿使用者的授權資訊和open_id和我們平臺的普通使用者進行繫結。這樣不管是普通使用者登陸還是第三方登陸使用者,都可以實現登陸。
}