日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 >

php模拟一个简易的mvc模型

發(fā)布時間:2025/3/21 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 php模拟一个简易的mvc模型 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
mvc是生么?
mvc是軟件設(shè)計的一種結(jié)構(gòu)(即模型、視圖、控制器)

本篇文章會通過一個簡易的webapp來介紹mvc,目錄結(jié)構(gòu)如下:
mvcDemo
? ? index.php
? ? modules
? ? ? ? UserModule.php
? ? ? ? BlogModule.php
? ? views
? ? ? ? user
? ? ? ? ? ? userPage.php
? ? ? ? blog
? ? ? ? ? ? blogPage.php
? ? controllers
? ? ? ? UserController.php
BlogController.ph

在以上的目錄結(jié)構(gòu)中:
index.php
? ? 【入口文件】是一個入口文件,是一個唯一讓瀏覽器請求的腳步文件;
modules
? ? 【模型】用于提供數(shù)據(jù)并保存數(shù)據(jù)
views
? ? 【視圖】用于提供界面的顯示
controller
? ? 【控制器】用于協(xié)調(diào)模型和視圖
action控制器中定義的方法:

? ? 【action】是控制其中定義的方法,瀏覽器直接請求,url中以參數(shù)的形式傳遞

以下在項目的創(chuàng)建過程中慢慢的來講解mvc的工作模式,所有的過程都是在虛擬機環(huán)境下的centos6中完成的(該虛擬環(huán)境已經(jīng)具備了lamp環(huán)境)


一、首先我們創(chuàng)建一個目錄mvcDemo用于存放該項目:

二、接下來我們進入mvcDemo目錄創(chuàng)建相應(yīng)的文件和文件夾,如下:


以上視圖我們創(chuàng)建了index.php入口文件;modules模型文件夾;views視圖文件夾;controllers存放控制類的文件夾

三、進入controllers目錄,創(chuàng)建一個UserController.php和BlogController.php,如下:


編輯UserController.php和BlogController.php;分別寫入如下代碼:

UserController.php:

<?php class UserController{public function index(){echo '這是user控制器的index方法';} } BlogController.php:

<?php class BlogController{public function index(){echo '這是博客控制器的index方法';} } 四、返回上一級目錄,編輯index.php,如下:

<?php//這是一個入口文件//這是一個控制器$c = $_GET['c']; //用于獲取url參數(shù)中傳過來的,具體的哪一個控制器//包含控制器include './controllers/'.$c.'Controller.php'; //將參數(shù)拼接為我們要訪導(dǎo)入的類//實例化一個對象$className = $c.'Controller';$controller = new $className();//訪問方法名$m = $_GET['m']; //用于獲取url參數(shù)中傳遞過來的,具體要訪問的哪一個方法$controller->$m(); //執(zhí)行該方法,返回相應(yīng)的數(shù)據(jù)或視圖 保存后,訪問url【server/mvcDemo/?c=User&m=index】,在我的電腦上訪問返回如下結(jié)果, 注意【我的電腦IP地址為192.168.1.112;項目存放目錄為mvcTest】




可以看我我們正常訪問到了UserController類中的index方法。

在以上過程中我們已經(jīng)通過了入口文件,訪問到了我們模型中的方法,并返回了相應(yīng)的數(shù)據(jù),接下來我們要通過模型,返回相應(yīng)的視圖,展示給用戶:

五、進入views目錄,創(chuàng)建user和blog目錄

六、進入user目錄,創(chuàng)建一個index.php,并寫下如下代碼(一段簡單的htm):

<html><head><title>user</title></head><body><h1>this is user view</h1></body> </html> 七、接下來進入controllers目錄,編輯我們創(chuàng)建好的UserController.php,加上如下代碼,將我們的視圖文件包含進來:

<?php class UserController{public function index(){echo '這是user控制器的index方法';include './views/user/index.php';} }
我們再次訪問url【server/mvcDemo/?c=User&m=index】,顯示如下:



可以看到我們剛才寫的視圖文件正常執(zhí)行,并顯示了

現(xiàn)在我們已經(jīng)訪問入口文件,通過模型,訪問到了我們的視圖

接下來我們要訪問入口文件,通過模型,訪問視圖,并獲取數(shù)據(jù)庫中的數(shù)據(jù)(這里數(shù)據(jù)庫中返回的數(shù)據(jù),我們寫假數(shù)據(jù)):

八、進入modules目錄,創(chuàng)建一個文件UserModule.php,寫入如下代碼:

<?php class UserModule{public function getData(){$data = '{result:{lilei:{age:25,sex:man},lili:{age:23,sex:woman}}';return $data;} } 9、接下來我們編輯controllers目錄下的UserController.php文件,讓他調(diào)用UserModule.php <?php class UserController{public function index(){echo '這是user控制器的index方法';include './views/user/index.php';include './modules/UserModule.php';$umo = new UserModule();echo '<br/>';echo $umo->getData();} }再次訪問url【server/mvcDemo/?c=User&m=index】,顯示如下:


到此文章,一個簡易的mvc實現(xiàn)就完成了。






總結(jié)

以上是生活随笔為你收集整理的php模拟一个简易的mvc模型的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。