Laravel是一套簡潔、優雅的PHP Web開發架構(PHP Web Framework)。 它可以讓你從麵條一樣雜亂的程式碼中解脫出來;它可以幫你建立一個完美的網路APP,而且每行程式碼都可以簡潔、富於表達力。所以我們收集了《Laravel5.2博客實戰視頻教程》,這是一套以項目實戰為主的Laravel5.2實戰開發教程,是真正意義上的入門到精通。希望能夠幫助大家更好的學習Laravel框架。
課程播放網址:http://www.php.cn/course/283.html
該老師講課風格:
講課親切自然,樸實無華,沒有矯揉造作,也不刻意渲染,而是婁娓而談,細細道來,師生之間在一種平等、協作、和諧的氣氛下,進行默默的情感交流,將對知識的渴望和探索融於簡樸、真實的教學情景之中,學生在靜靜的思考、默默的首肯中獲得知識
本影片中較為困難是HTTP中間件了:
#-- 什麼是中間件?
一、為什麼要中間件
計 算機技術迅速發展。從硬體技術看,CPU速度越來越高,處理能力越來越強;從軟體技術來看,應用程式的規模不斷擴大,特別是Internet及WWW的出現,使電腦的應用範圍更為廣闊,許多應用程式需在網路環境的異質平台上運作。這一切都對新一代的軟體開發提出了新的需求。在這種分佈異質環境中,通常存在多種硬體系統平台(如PC,工作站,小型機等),在這些硬體平台上又存在各種各樣的系統軟體(如不同的作業系統、資料庫、語言編譯器等),以及多種風格各異的使用者介面,這些硬體系統平台也可能採用不同的網路協定和網路體系結構連接。如何把這些系統整合起來並開發新的應用是一個非常現實且困難的問題。
二 什麼是中間件
為解決分佈異構問題,人們提出了中間件(middleware)的概念。中間件是位於平台(硬體和作業系統)和應用之間的通用服務,如圖1所示,這些服務具有標準的程式介面和協定。針對不同的作業系統和硬體平台,它們可以有符合介面和協定規範的多種實作。
也許很難給中間件一個嚴格的定義,但中間件應具有如下的一些特點:
滿足大量應用的需要
運行於多種硬體和OS平台
支持分佈計算,提供跨網路、硬體和OS平台的透明性的應用或服務的交互
支援標準的協定
支援標準的介面
由於標準介面對於可移植性和標準協議對於互通性的重要性,中間件已成為許多標準化工作的主要部分。對於應用軟體開發,中介軟體遠比作業系統和網路服務更為重要,中介軟體提供的程式介面定義了一個相對穩定的高層應用環境,不管底層的電腦硬體和系統軟體怎樣更新換代,只要將中間件升級更新,並保持中間件對外的介面定義不變,應用軟體幾乎不需要任何修改,從而保護了企業在應用軟體開發和維護中的重大投資。
三、主要中間件的分類
中 間件所包含的範圍十分廣泛,針對不同的應用需求湧現出多種各具特色的中間件產品。但至今中間件還沒有一個比較精確的定義,因此,在不同的角度或不同的層次 上,對中間件的分類也會有所不同。由於中介軟體需要屏蔽分佈環境中異質的作業系統和網路協議,它必須能夠提供分佈環境下的通訊服務,我們將此通訊服務稱為平台。基於目的和實作機制的不同,我們將平台分為以下主要幾類:
遠端過程呼叫(Remote Procedure Call)
訊息導向的中間件(Message-Oriented Middleware)
對象請求代理(Object Request Brokers)
它們可向上提供不同形式的通訊服務,包括同步、排隊、訂閱發布、廣播等等,在這些基本的通訊平台之上,可構築各種框架,為應用程式提供不同領域內的服務,如事務處理監控器、分散資料存取、物件事務管理器OTM等。平台為上層應用屏蔽了異質平台的差異,而其上的框架定義了相應領域內的應用的系統結構、標準的服務組件等,用戶只需告訴框架所關心的事件,然後提供處理這些事件的代碼。當事件發生時,框架則會呼叫使用者的程式碼。使用者程式碼不用呼叫框架,使用者程式也不必 關心框架結構、執行流程、對系統級API的呼叫等,所有這些都由框架負責完成。因此,基於中介軟體開發的應用具有良好的可擴充性、易於管理性、高可用性和可移植 性。
下面,針對幾類主要的中間件分別加以簡單的介紹。
1、遠端過程呼叫
遠端過程呼叫是一種廣泛 使用的分散式應用程式處理方法。一個應用程式使用RPC來「遠端」執行一個位於不同位址空間的過程,並且從效果上看和執行本地呼叫相同。事實上,一個 RPC應用程式分為兩個部分:server和client。 server提供一個或多個遠端程序;client向server發出遠端呼叫。 server和 client可以位於同一台計算機,也可以位於不同的計算機,甚至在不同的作業系統之上運作。它們透過網路進行通訊。對應的stub和運作支援提供資料轉 換和通訊服務,從而屏蔽不同的作業系統和網路協定。在這裡RPC通訊是同步的。採用執行緒可以進行非同步呼叫。
在RPC模型中, client和server只要具備了相應的RPC接口,並且具有RPC運行支持,就可以完成相應的互操作,而不必限制於特定的server。因此, RPC為client/server分散式運算提供了有力的支援。同時,遠端程序呼叫RPC所提供的是基於過程的服務訪問,client與server進 行直接連接,沒有中間機構來處理請求,因此也具有一定的限制。例如,RPC通常需要一些網路細節來定位server;在client發出請求的同時,要 求server必須是活動的等等。
2、訊息導向的中間件
MOM指的是利用高效率且可靠的訊息傳遞機制進行平台無關的數 據交流,並基於資料通訊來進行分散式系統的整合。透過提供訊息傳遞和訊息排隊模型,它可在分佈環境下擴展進程間的通信,並支援多通訊協定、語言、應用程式 序、硬體和軟體平台。目前流行的MOM中介軟體產品有IBM的MQSeries、BEA的MessageQ等。訊息傳遞和排隊技術有以下三個
主要特點:
通訊程式可在不同的時間運作程式不在網路上直接相互通話,而是間接地將訊息放入訊息佇列,因為程序間沒有直接的聯繫。所以它們不必同時運行。當訊息放入適當的佇列時,目標程式甚至根本不需要正在運行;即使目標程式在運行,也不代表要立即處理該訊息。
#對應用程式的結構沒有約束 在複雜的應用場合中,通訊程式之間不僅可以是一對一的關係,還可以進行一對多和多對一方式,甚至是上述多種方式的組合。多種通訊方式的建構並沒有增加應用程式的複雜性。
程式與網路複雜度隔離
程式將訊息放入訊息佇列或從訊息佇列中取出訊息來進行通訊,與此關聯的全部活動,例如維護訊息佇列、維護程式和佇列之間的關係、處理網路的重新啟動和在網路中移動訊息等是MOM的任務,程式不會直接與其它程式通話,而且它們不涉及網路通訊的複雜性。
3、物件請求代理
隨 著物件技術與分散式運算技術的發展,兩者相互結合形成了分散物件運算,並發展為當今軟體技術的主流方向。 1990年底,物件管理集團OMG首次推出物件管 理結構OMA(Object Management Architecture),物件請求代理程式(Object Request Broker)是這個模型的核心元件。它的作用在於提供一個通訊框架,透明地在異質的分佈運算環境中傳遞物件請求。 CORBA規格包含了ORB的所有標準 介面。 1991年推出的CORBA 1.1 定義了介面描述語言OMG IDL和支援Client/Server物件在特定的ORB上進行互通的API。 CORBA 2.0 規範描述的是不同廠商提供的ORB之間的互通性。
物件請求代理(ORB)是物件匯流排,它在CORBA規格中處於核心地位,定義異質環境下物件透明地傳送請求和接收回應的基本機制,是建立物件之間client/server關係的中間件。 ORB使得物件可以透明地向其他物件發出請求或接 受其他物件的回應,這些物件可以位於本地也可以位於遠端機器。 ORB攔截請求調用,並負責找到可以實現請求的物件、傳送參數、調用相應的方法、返回結果 等。 client物件並不知道同server物件通訊、啟動或儲存server物件的機制,也不必知道server物件位於何處、它是用何種語言實現的、 使用什麼作業系統或其他不屬於物件介面的系統成分。
值得指出的是client和server角色只是用來協調物件之間的互動,根 根據對應的場合,ORB上的物件可以是client,也可以是server,甚至兼有兩者。當物件發出一個請求時,它是處於client角色;當它在接收請 求時,它就處於server角色。大部分的物件都是既扮演client角色又扮演server角色。另外由於ORB負責物件請求的傳送和server的管 理,client和server之間並不會直接連接,因此,與RPC所支援的單純的Client/Server結構相比,ORB可以支援更複雜的結構。
4、事務處理監控
事務處理監控(Transaction processing monitors)最早出現在大型主機上,為其提供支援大規模事務處理的可靠運作環境。隨著分散計算技術的發展,分散應用系統對大規模的事務處理提出了需 求,例如商業活動中大量的關鍵事務處理。事務處理監控界於client與server之間,進行事務管理與協調、負載平衡、失敗復原等,以提升系統的整體 效能。它可以被看作是事務處理應用程式的「作業系統」。整體來說,事務處理監控有以下功能:
進程管理,包括啟動server進程、為其指派任務、監控其執行並對負載進行平衡。
事務管理,即確保在其監控下的事務處理的原子性、一致性、獨立性和持久性。
通訊管理,為client和server之間提供了多種通訊機制,包括請求回應、會話、排隊、訂閱發布和廣播等。
事 務處理監控能夠為大量的client提供服務,例如飛機定票系統。如果server為每一個client都分配所需的資源的話,那server就會不堪 重負(如圖2)。但實際上,在同一時刻並不是所有的client都需要請求服務,而一旦某個client請求了服務,它希望得到快速的回應。事務處理 監控在作業系統之上提供一組服務,對client請求進行管理並為其分配相應的服務進程,使server在有限的系統資源下能夠有效率地為大規模的客戶提供 服務。
以上是Laravel5.2部落格實戰影片教學的資源推薦的詳細內容。更多資訊請關注PHP中文網其他相關文章!