本章是對
mvc概念的乙個短小而且隨意的介紹,因為這些概念在
cake
裡得到實現。如果你是乙個
mvc模式的新人,很顯然本章就是為你而寫的。我們從
mvc的一般概念的討論開始,然後以我們自己的方式切入到
cakephp
裡的mvc
的特定應用程式,並且展示一些簡單的使用
mvc模式的
cakephp例子
model-view-controller
是一軟體設計模式,它幫助你把邏輯和**進行分離,使**變得更加可重用,可維護,變得更加優秀。
mvc由四人幫第一次描述。
dean helman
寫到(它精確來自
objective toolkit pro
***):
"mvc
是一種打破應用程式的方式,甚至僅是一段應用程式的介面,它分成
3部分:模型(
model
),檢視(
view
),以及控制器(
controller
)。mvc
的開發原本是為了將傳統的輸入,處理,輸出的角色轉化為
gui的層面。」
輸入->
處理->輸出
控制->
模型->檢視
「使用者的輸入,外部世界的建模,以及使用者的視覺化回饋都被模型,檢視以及控制物件進行分隔和處理。控制器解釋了滑鼠和鍵盤的使用者輸入,並將這些使用者操作對映為命令傳送到模型和
/或檢視口(
port
),並做出適當的改變。模型管理乙個或多個資料元素,並響應它的狀態查詢以及響應改變狀態的指令。檢視口管理矩形的顯示區域,並負責以圖形和文字的組合方式將資料呈現給使用者。」
在cake
裡,model
代表了乙個特定的資料庫表
/記錄,以及與其他表和記錄的關係。
model
也包含資料的驗證規則,當插入或更新
model
資料時會採用這些規則。
view
代表cake
的視**件,他們是正規的嵌入
php**的
html
檔案。cake
的controller
處理來自
server
的請求。它採用使用者輸入(
url和
post
資料),應用業務邏輯,使用
model
從資料庫和其他資料來源讀寫資料,最後將輸出的資料傳送到合適的
view
檔案。
為了盡可能簡單的組織你的應用程式,
cake
使用這個模式,不僅管理這些物件如何和你的應用程式互動,而且還管理檔案如何儲存,這將在下面詳細介紹。
當你在server
上解壓縮
cake
包時,你會發現有
3個主要的資料夾:
cake
vendors
cake資料夾是
cake
層的核心庫所在之處,一般來說,你永遠不需要接觸他們。
資料夾是你的應用程式資料夾和檔案所在之處。對你來說,cake和
資料夾的分離,讓有多個
的資料夾共享單個
cake
庫變為可能。這同時也讓
cakephp
cake
,然後覆蓋當前的核心庫即可。沒有必要擔心它會覆蓋某些編寫的應用程式的東西。
你可以使用vendors目錄維護第三方庫。後面將學習更多關於
vendors
的知識,但是基本的概念是,你可以使用
cake
的vendor()
方法訪問
vendors
目錄下放置的類。
讓我們看看整個層次結構: /
/config -
包含資料庫,
acl等的
config
檔案 /controllers -
是controller
在這裡/components - components
在這裡 /index.php -
允許你用
作為documentroot
來部署 /models - models
在這裡/plugins - plugins
在這裡 /tmp -
用來存放
cache
和log
/vendors -
包含此應用程式的第三方庫
/views - views
在這裡/elements -
元素,少量檢視
/errors -
自定義的錯誤頁面
/helpers - helper
/layouts -
應用程式的布局檔案
/pages -
靜態的檢視
/webroot -
應用程式的
documentroot
/css
/files
/img
/js /cake -cake
的核心庫。不要編輯任何檔案
index.php
/vendors -server
級的第三方庫
version.txt -
讓你知道你正在使用哪個版本的
cake
last updated:2023年11月30日
CakePHP中文手冊 翻譯
0.宣告1.前言2.介紹cakephp 3.基本概念 4.安裝cakephp 5.配置 6.scaffolding 7.model 8.controller 9.view 10.component 元件 11.helper 12.cake的全域性變數和函式 13.資料驗證 14.外掛程式 15.訪問...
CakePHP中文手冊 翻譯
0.宣告1.前言2.介紹cakephp 3.基本概念 4.安裝cakephp 5.配置 6.scaffolding 7.model 8.controller 9.view 10.component 元件 11.helper 12.cake的全域性變數和函式 13.資料驗證 14.外掛程式 15.訪問...
CakePHP中文手冊 翻譯 外掛程式
cakephp 允許你建立乙個controller,model以及view的組合,並且可以將他們發布為乙個已打包的應用程式外掛程式,以至在cakephp應用程式中,其他可以使用它。在你的乙個應用程式中,有乙個優秀的使用者管理模組,簡單的blog或web service模組嗎?將它打包為乙個cakep...