首頁 後端開發 php教程 理解PHP中的MVC編程之MVC架構簡介

理解PHP中的MVC編程之MVC架構簡介

Dec 01, 2016 am 11:11 AM
mvc

【什麼是MVC? 】 

MVC是一個可以讓你把「三個部分(即MVC的全稱,Model、View、Controller)」諧波組成一個複雜應用程式的概念。一輛車就是一個在現實生活中非常好的MVC例子。我們看車子都看兩個View(顯示)部分:內部和外部。而這兩個都離不開一個Controller(控制者):司機。煞車系統、方向盤和其他操控系統代表了Model(模型):他們從司機(Controller)取得控制方法然後應用到內部和外觀(View)。 

【網路上的MVC】 

MVC架構所涵蓋的概念相當簡單且極度靈活。基本的概念就是,你有一個單獨的控制器(如index.php)用來控制所有建立在參數請求基礎上的框架內應用程式。這個控制器通常包含了(最小程度上)一個定義模型的參數、一個事件和一個GET參數。這樣控制器就能確認所有的請求然後執行對應的事件。打個比方來說,一個像這樣/index.php?module=foo&event=bar的請求很有可能就是用來載入一個名叫foo的類,然後執行foo::bar()[就是其中的bar( )函數]。這樣做的好處有: 

一個對應所有應用程式的介面 

同時維護一個應用程式內無數的程式碼非常麻煩,因為每一段程式碼都有自己的相對路徑、資料庫連結、驗證等等。而這樣做就免除你在這方面的煩惱,允許你合併並重複使用代碼 

【為什麼要創建作者自己的MVC框架? 】 

迄今為止,我沒有見過太多用PHP寫的MVC框架。事實上我只是知道一個-Solar,是完全用PHP5寫的。另外一個是Cake,一個試圖成為PHP的RoR(Rubyalign=centerbgColor=#e3e3e3border=1>

<?php 
 require_once('config.php');//Otherrequires,DBinfo,etc. 
 $APP_DB='mydb'; 
 $APP_REQUIRE_LOGIN=false;//Settotrueifscriptrequireslogin 
 $APP_TEMPLATE_FILE='foo.php';//Smartytemplate 
 $APP_TITLE='MyApplication'; 
 if($APP_REQUIRE_LOGIN==true){ 
if(!isset($_SESSION['userID'])){ 
 header("Location:/path/to/login.php"); 
 exit(); 
} 
 } 
 $db=DB::connect('mysql://'.$DB_USER.':'.$DB_PASS.'@localhost/'.$APP_DB); 
 if(!PEAR::isError($db)){ 
$db->setFetchMode(DB_FETCHMODE_ASSOC); 
 }else{ 
die($db->getMessage()); 
 } 
 //Putyourlogichere 
 //Outputthetemplate 
 include_once(APP_TEMPLATE_PATH.'/header.php'); 
 include_once(APP_TEMPLATE_PATH.'/'.$APP_TEMPLATE_FILE); 
 include_once(APP_TEMPLATE_PATH.'/footer.php'); 
?>
登入後複製

 
天哪,只是看這些代碼都會讓我有退縮的慾望。這段代碼的概念就是確保每一個應用程式都能適用於這個處理方法,例如我可以簡單地將template.txt拷進myapp.php,改變一些變量,瞧,它就能運行起來了。缺點: 

如果我的老闆想讓作者用myapp.php在某些情況下輸出PDF、某些情況下輸出HTML、某些情況(直接提交的XML請求)SOAP,我該怎麼辦?程式需要IMAP或LDAP驗證,我該怎麼辦? ?


<?php 
 classmyappextendsFR_Auth_User 
 { 
publicfunction__construct() 
{ 
 parent::__construct(); 
} 
 publicfunction__default() 
 { 
//Dosomethinghere 
 } 
 publicfunctiondelete() 
 {} 
 publicfunction__destruct() 
 { 
parent::__destruct(); 
 } 
} 
?>
登入後複製

注意這段程式碼顯然不是用來連結到一個資料庫、判斷一個使用者是否已經登陸、或輸出任何其他資訊。 FR_Auth_LDAP。的實例,它可以簡單地判斷一個用戶是否已經登陸等等。來講可能是一個全新、陌生的概念,但是一旦你轉換到了這樣一個概念,那麼要轉回去將是件相當困難的事情。
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
4 週前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
4 週前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您聽不到任何人,如何修復音頻
4 週前 By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解鎖Myrise中的所有內容
1 個月前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

PHP MVC 架構:建立面向未來的 Web 應用程式 PHP MVC 架構:建立面向未來的 Web 應用程式 Mar 03, 2024 am 09:01 AM

引言在當今快速發展的數位世界中,建立健壯、靈活且可維護的WEB應用程式至關重要。 PHPmvc架構提供了實現這一目標的理想解決方案。 MVC(模型-視圖-控制器)是一種廣泛使用的設計模式,可將應用程式的各個方面分離為獨立的元件。 MVC架構的基礎MVC架構的核心原理是分離關注點:模型:封裝應用程式的資料和業務邏輯。視圖:負責呈現資料並處理使用者互動。控制器:協調模型和視圖之間的交互,管理使用者請求和業務邏輯。 PHPMVC架構phpMVC架構遵循傳統MVC模式,但也引進了語言特定的功能。以下是PHPMVC

PHP MVC 架構的進階指南:解鎖進階功能 PHP MVC 架構的進階指南:解鎖進階功能 Mar 03, 2024 am 09:23 AM

mvc架構(模型-視圖-控制器)是PHP開發中最受歡迎的模式之一,因為它為組織程式碼和簡化WEB應用程式的開發提供了清晰的結構。雖然基本的MVC原理對於大多數Web應用程式來說已經足夠,但對於需要處理複雜資料或實現高級功能的應用程序,它存在一些限制。分離模型層分離模型層是高階MVC架構常見的技術。它涉及將模型類分解為較小的子類,每個子類專注於特定功能。例如,對於一個電子商務應用程序,您可以將主模型類別分解為訂單模型、產品模型和客戶模型。這種分離有助於提高程式碼的可維護性和可重複使用性。使用依賴注入依賴

如何使用PHP實作MVC模式 如何使用PHP實作MVC模式 Jun 07, 2023 pm 03:40 PM

MVC(Model-View-Controller)模式是一種常用的軟體設計模式,可以幫助開發人員更好地組織和管理程式碼。 MVC模式將應用程式分為三個部分:模型(Model)、視圖(View)和控制器(Controller),每個部分都有自己的角色和職責。在本文中,我們將討論如何使用PHP實作MVC模式。模型(Model)模型代表應用程式的資料和資料處理。通常,

揭開SpringMVC框架的成功:它為何廣受歡迎 揭開SpringMVC框架的成功:它為何廣受歡迎 Jan 24, 2024 am 08:39 AM

SpringMVC框架解密:為什麼它如此受歡迎,需要具體程式碼範例引言:在當今的軟體開發領域中,SpringMVC框架已經成為開發者非常喜愛的一種選擇。它是基於MVC架構模式的Web框架,提供了靈活、輕量、高效的開發方式。本文將深入探討SpringMVC框架的魅力所在,並透過具體的程式碼範例來展示其強大之處。一、SpringMVC框架的優勢靈活的配置方式Spr

PHP中如何使用MVC架構設計項目 PHP中如何使用MVC架構設計項目 Jun 27, 2023 pm 12:18 PM

在Web開發中,MVC(Model-View-Controller)是一種常用的架構模式,用於處理和管理應用程式的資料、使用者介面和控制邏輯。 PHP作為流行的Web開發語言,也可以藉助MVC架構設計和建構Web應用程式。本文將介紹如何在PHP中使用MVC架構設計項目,並說明其優點和注意事項。什麼是MVCMVC是一種軟體架構模式,通常用於Web應用程式中。 MV

PHP8框架開發MVC:初學者需要知道的重要概念與技巧 PHP8框架開發MVC:初學者需要知道的重要概念與技巧 Sep 11, 2023 am 09:43 AM

PHP8框架開發MVC:初學者需要知道的重要概念和技巧引言:隨著網路的快速發展,Web開發在當今的軟體開發產業中扮演著重要的角色。 PHP被廣泛用於Web開發,並且有許多成熟的框架可以幫助開發人員更有效率地建立應用程式。其中,MVC(Model-View-Controller)架構是最常見且廣泛使用的模式之一。本文將介紹初學者在使用PHP8框架開發MVC應用程

PHP8框架開發MVC:逐步指南 PHP8框架開發MVC:逐步指南 Sep 11, 2023 am 10:05 AM

PHP8框架開發MVC:逐步指南引言:MVC(Model-View-Controller)是一種常用的軟體架構模式,用於將應用程式的邏輯、資料和使用者介面分開。它提供了一種將應用程式分成三個不同元件的結構,以便更好地管理和維護程式碼。在本文中,我們將探討如何使用PHP8框架來開發符合MVC模式的應用程式。第一步:理解MVC模式在開始開發MVC應用程式之前,我

Spring MVC詳解:深入解析這個強大的框架 Spring MVC詳解:深入解析這個強大的框架 Dec 29, 2023 am 08:09 AM

SpringMVC是一個非常受歡迎的JavaWeb開發框架,它以其強大的功能和靈活性而受到廣泛的歡迎。它的設計思想是基於MVC(Model-View-Controller)架構模式,透過將應用程式分為模型、視圖和控制器三個部分,實現了應用程式的解耦和模組化。在本文中,我們將深入探討SpringMVC框架的各個方面,包括請求的處理和轉發、模型和視圖的處理、

See all articles