首先我們來看看mvc架構的示意圖:
和訪問者互動的是控制層(controller層),控制器(controller)是同類互動的集合,每乙個互動的操作,都對應了乙個動作(action)。在thinkphp框架中,全部的控制器類都必須繼承於action。
對資料庫進行訪問的是模型層(model層),在thinkphp框架中,全部的模型器類都必須繼承於model。
顯示頁面模板的是檢視層(view層)。
上面簡單描述了mvc架構的理解。
mvc理念是將網路系統劃分為三個關注點:互動、資料、頁面模板;也就是我們設計或分析乙個網路系統,就可以從這三個角度去進行:
互動:表現在系統提供了哪些功能,這些功能可以劃分為哪些大類,每乙個大類的功能分別都有些什麼操作等等。
比如php論壇系統,我們可以粗略劃分成板塊、帖子、使用者、站內資訊、後台管理等幾大類的功能,然後使用者的功能裡面又包括了註冊、登入、修改使用者資訊等等的多個操作。
對應thinkphp框架的控制層(controller層)而言,乙個功能大類可以說是乙個控制器類(當然,如果該型別概況的範圍比較大,那麼還需要繼續拆分成多個控制器類),單個型別內的每乙個功能就是乙個動作(action,控制器類的方法函式)。
資料:表現在系統對資料庫進行了那些操作。網路系統幾乎都需要和資料庫打交道。那麼,在進行對互動的分析和對系統本身的分析後,我們也大致上可以歸納系統需要哪些資料了。然後我們將這些資料整理歸類,最終可以得出系統需要的資料表是哪些。
就剛才的php論壇,按照「板塊、帖子、使用者、站內資訊、後台管理」這五個分類功能,我們可以基本歸納出它們需要:板塊記錄表、帖子記錄表、使用者表、站內資訊表、後台設定表等等。
對模型層(model層)而言,乙個表可以說就是對應了乙個模型類。而模型父類(model)為這些模型類提供大部分與資料庫訪問的功能。
深入理解MVC模式
mvc即model,view,controller如上結構圖,分別對應模型,檢視,控制器。就目前而言,我們大多數人更傾向於將軟體的業務邏輯放在controller裡,將資料庫訪問操作的 放入model中,最終軟體的 結構是 view層是介面,controller是業務邏輯,model層神資料庫訪問。...
深入理解C語言 深入理解指標
關於指標,其是c語言的重點,c語言學的好壞,其實就是指標學的好壞。其實指標並不複雜,學習指標,要正確的理解指標。指標也是一種變數,占有記憶體空間,用來儲存記憶體位址 指標就是告訴編譯器,開闢4個位元組的儲存空間 32位系統 無論是幾級指標都是一樣的 p操作記憶體 在指標宣告時,號表示所宣告的變數為指...
mysql 索引深入理解 深入理解MySql的索引
為什麼索引能提高查詢速度 先從 mysql的基本儲存結構說起 mysql的基本儲存結構是頁 記錄都存在頁裡邊 各個資料頁可以組成乙個雙向鍊錶每個資料頁中的記錄又可以組成乙個單向鍊錶 每個資料頁都會為儲存在它裡邊兒的記錄生成乙個頁目錄,在通過主鍵查詢某條記錄的時候可以在頁目錄中使用二分法快速定位到對應...