PHP 實現簡單的 MVC 框架

2021-03-02 藍橋雲課精選

前言:

在 PHP 的世界中,有著眾多的框架,它們各有所長,各具特色。既有 Zend,Symfony,Laravel 等大型框架,也有 CodeIgniter,Slim Framework 等輕量級的框架,還有國產的優秀框架: ThinkPHP 等。關於各種框架的優劣以及是否應該使用框架的爭論不絕於耳。

作為一名想要接觸框架學習卻又找不到方向的初級 PHPer,我們只需要從基礎學起,由簡入難。學習框架最好的辦法就是了解其基本原理和運行流程,自己開發一個 MVC 框架,可以近距離的接觸到這些內容,為以後學習大型框架打好基礎。

小編今天介紹的項目課程就是教你開發一個簡單的MVC框架。

項目名稱:

【PHP 實現簡單的 MVC 框架】

項目簡介:

該項目課程使用 PHP 實現一個簡單的 MVC 框架,包含模型、視圖、控制器以及模板解析等部分。通過項目了解MVC框架的基本原理和運行流程,學習面向對象編程和MVC設計模式,並學習開發中的一些注意事項。

項目列表:

搭建框架的目錄結構如下圖:

目錄講解:

看上圖的目錄結構,從上到下依次介紹一些每個目錄的作用;

app/:應用程式目錄。用戶在其中進行功能開發

home/:模塊目錄。一般分為前臺(home)和後臺模塊(admin),這裡只建立的前臺模塊

controller/:前臺控制器目錄,存放控制器文件。主要處理前臺模塊的操作

model/:前臺模型目錄,存放模型文件。處理前臺模型的相關操作

view/:前臺視圖目錄,存放視圖文件。前臺展示的模板文件。

config/:配置文件目錄

config.php:框架的配置文件

runtime/:運行時目錄,保存框架運行時產生的數據。

cache/:緩存目錄。用於存放緩存的模板文件

complie/:編譯目錄。用於存放經過編譯的模板文件

log/:日誌文件。用於記錄框架運行期間的行為

sys/:框架目錄。用於存放框架文件

core/:框架核心目錄。存放框架運行所需的核心文件

start.php:框架啟動文件。

index.php:框架入口文件。所有請求都經過此文件處理

目錄中有一點需要再講一下:index.php。這是整個框架的入口文件,叫做單一入口文件。

這裡涉及到一個知識點:單一入口模式和多入口模式。

以上內容全部截選自項目【PHP 實現簡單的 MVC 框架】

關於該項目的詳細開發文檔、代碼詳解,點擊最下方的「閱讀原文」,即可馬上查看了~

在線開發環境:

不動手的話永遠無法真正掌握開發,實驗樓給每個學習者都提供了在線的開發環境,可以跟著教程隨時動手操作學習,更快更高效的理解教程所介紹的開發方法和步驟,掌握所學的知識點。


在線開發環境示意圖

點擊「閱讀原文」,即可馬上查看如何用PHP來實現簡單的MVC框架了~

相關焦點

  • php框架開發:實現最簡單的MVC框架實例教程
    這篇文章主要介紹了php實現最簡單的MVC框架實例教程,講述了MVC框架的運行原理及簡單實現方法,具有不錯的參考借鑑價值,
  • 簡述MVC思想與PHP如何實現MVC
    首頁 > 語言 > 關鍵詞 > php最新資訊 > 正文 簡述MVC思想與PHP如何實現MVC
  • 輕量級PHP框架 MelonFramework 0.2.3 版本發布​
    修復模板的tag標籤空參數時出錯問題修復alink在非get方法下失效問題app主體類默認繼承新的基礎主體類App,App帶有兩個新的靜態方法module(獲得模塊對象實例)和lang(獲得模塊語言包實例)官網:http://framework.melonol.comMelonFramework 是一個用於php5.3
  • java和php在web開發方面對比分析
    一、 語言比較php是解釋執行的伺服器腳本語言,首先php有簡單容易上手的特點。語法和c語言比較象,所以學過c語言的程式設計師可以很快的熟悉php的開發。所以java不如php好學。java首先要編譯成字節碼.class文件,然後在java虛擬機上解釋執行。java的web開發首先最容易想到的就是jsp(現在已經到jsp2.0),原來的java的web開發都是用servlet來實現的,用servlet來開發需要程式設計師在java的源文件中嵌入大量的html代碼。
  • Laravel和Thinkphp你喜歡哪個框架?Thinkphp5號稱為API開發的框架
    Laravel和Thinkphp這兩個php框架對於php程式設計師都不陌生,新手可能對Thinkphp比較熟,也是國內比較出名的開源框架,更高級的Laravel一般有點經驗的才使用。首先來說下來thinkphp,採用mvc思想開發,它活動範圍主要是國內,而且完全免費開源,學習資料非常豐富,對於新手來說是學習php框架最佳的選擇,主要還是都是中文文檔。從5.0版本開始,號稱為API開發而設計的高性能框架。配置開發也是非常簡單,一般下載框架就可以直接開發,開發代碼風格也符合國人思想,所以簡單,快捷,適合新手的php框架。
  • PHP學習資料推薦(書籍篇)
    書與書之前也有差別,以下推薦主要是名著,能有效傳輸知識書籍,涵蓋前端,軟體工程,微服務,分布式系統,高流量網站建設,php基礎,php框架源碼解讀,php內核解讀,redis應用,運維以及優化和內核解讀,mongodb基礎,分片,集群,mysql基礎,innodb源碼解讀,mysql配置,語句,索引優化,nginx應用,配置優化,源碼解讀,linux 網絡編程,c語言基礎,算法(c描述),tcp/http
  • Spring MVC簡介
    Spring MVC簡介Spring MVC框架是有一個MVC框架,通過實現Model-View-Controller模式來很好地將數據、業務與展現進行分離。從這樣一個角度來說,Spring MVC和Struts、Struts2非常類似。
  • 什麼是MVVM,MVC和MVVM的區別,MVVM框架VUE實現原理
    實現的方式是:數據綁定。二是將【視圖】轉化成【模型】,即將所看到的頁面轉化成後端的數據。實現的方式是:DOM 事件監聽。這兩個方向都實現的,我們稱之為數據的雙向綁定。總結:在MVVM的框架下視圖和模型是不能直接通信的。
  • 自學MVC看這裡——全網最全ASP.NET MVC 教程匯總
    《ASP.NET MVC 3高級編程》(Microsoft 內部編寫,創建數據驅動型動態Web程序的最新框架)本書由Microsoft公司內部團隊編寫,深入闡述了如何利用ASP.NET MCV 3的新特性及其激動人心的功能。
  • InitPHP 框架發布 3.5 正式版
    修復log工具類的日誌寫入文件夾目錄問題,在配置項中新增log日誌全局配置$InitPHP_conf['log_dir'] InitPHP是一款輕量級的php開發框架,採用分層體系架構,適合大中型網站架構。提供豐富的library類庫,以及簡單 的框架擴展機制。InitPHP還提供詳細的開發文檔,可以讓您在使用該框架的時候更加簡單實用。
  • 微信PHP開發框架 LaneWeChat 登陸 Composer
    微信PHP開發框架LaneWeChat登陸Composer。可以使用Composer快速下載最新版本的LaneWeChat。
  • mzphp v2.0,一日開數站 PHP 極速框架
    mzphp v2.0 發布,此版本特性: 性能,高性能極致加載、高效率編譯和讀取! 清晰,大量注釋及實例,幾分鐘就上馬進門!
  • 基於 Swoole 的協程 PHP 開發框架
    我們認為一個框架不僅需要代碼健壯、簡單易用,文檔也是十分重要,所以文檔的完善是我們工作的重點,相信一個好的文檔能夠讓你事半功倍!歡迎有志之士加入我們,一起開發完善!技術好的貢獻代碼,文筆好的貢獻文檔,有好的想法也歡迎與我們交流!
  • WebMIS v1.0.0 發布,靈活快速的自建 HMVC 框架
    時隔2年的調整,WebMIS的PHP框架再次突破局限創新,整理的大量計算機編程基礎知識,吸取大量php框架核心部分,自主研發了一套簡潔
  • Php或者Java哪個是適合入手的程式語言?
    java和php誰更容易上手這兩種語言小黑都算熟練掌握。從語法層來說,java和php都是c語系。關鍵字,操作符,以及語句差別不大,都能跨平臺,都是基於解釋型的語言。java是強類型,通用語言,可以用於客戶端,伺服器端等各種環境。而php本身定位伺服器語言,並且是弱類型語言。
  • 使用composer實現php自動加載的一種方式
    PHP 的自動加載,之前常用的__autoload和spl_autoload_register,不過最近發現使用composer也可以幫助實現自動加載,也挺好用的,記錄一下。User類的info方法,然後我們在index.php裡有調用了Hello類的index方法,這時候我們去訪問index.php肯定是要報錯的,因為我們在調用前並沒有引入對應的文件,PHP也不會自動加載。
  • PHP實現多個文件上傳的簡單方法有哪些?
    本篇文章將給大家介紹關於PHP實現多個文件上傳的一些簡單方法。在此知識內容介紹之前,我們在前面的文章【PHP文件上傳方法詳解及其信息解析】中已經為大家詳細介紹了php實現單個文件上傳的具體方法,那麼這篇文章和今天要介紹的知識點是有關聯的,需要的朋友可以先參考學習下。
  • Spring-mvc的原理講的不太好?那我手寫來解釋下吧——>面試官
    Spring-mvc是一種基於Java的實現了Web mvc設計模式的請求驅動類型的輕量級Web框架,即使用了mvc架構模式的思想,將web層進行職責解耦,基於請求驅動指的就是使用請求-響應模型,框架的目的就是幫助我們簡化開發,Spring-mvc也是要簡化我們日常Web開發的。
  • PHP Zend框架模塊列表一覽
    PHP Zend框架模塊列表一覽 我們為大家總結的PHP Zend框架模塊包括:Zend_Controller;Zend_Db;Zend_Feed;Zend_Filter;Zend_Filter;Zend_HttpClient等等。
  • 企業級微服務框架 PHP-MSF 發布 3.0.2 版本
    PHP-MSF企業級微服務框架3.0.2發布PHP微服務框架即「Micro Service Framework For PHP」,是Camera360社區伺服器端團隊基於Swoole自主研發現代化的PHP協程服務框架,簡稱msf或者php-msf,是Swoole的工程級企業應用框架,經受了Camera360億級用戶高並發大流量的考驗。