導航:首頁 > 編程語言 > php簡易mvc

php簡易mvc

發布時間:2023-02-11 00:10:57

1. 誰能幫我解釋下php的MVC框架呀用通俗易懂的語言吧,我是小白, 感激不盡!

我說個最通俗的把(大神別噴)
所謂的mvc,其實就是把代碼分開寫
一個正常的網頁,肯定是先有php運算,然後再有html顯示,你把php運算和html顯示,用2個文件分開寫,就有了最簡單的模板分類的概念
MVC一樣的意思,就是把模型控制器之類的分開寫,分開寫的好處很多,在這里不多說,道理想想就明白,細分後分配工作就簡單

2. 簡述MVC思想與PHP如何實現MVC

簡單的說就是將網站源碼分類、分層。
MVC三個字母的含義:
M:Model 模型,負責資料庫操作。
V:View 視圖,負責調用Model調取數據,再調用模板,展示出最終效果。
C:Controller 控制器,程序的入口,決定改調用哪個View,並告訴View該做什麼。
如此說來,程序的執行順序是C-V-M 或 C-M ,和MVC的名字正好相反。

3. 如何入門一個PHP MVC框架

一。選擇 一個框架
至於選哪一種框架,主要看個人,1)最好是身邊朋友都有人在用,因為你不懂的時候方便解決。有時候論壇,手冊上的解答你未必理解的通透,特別是沒有接觸過框架的phper來說,更是不知所雲。2)選擇此框架論壇比較活躍的,這是身有同感,前一段時間玩qeephp框架的時間,論壇冷冷清清的,工作需要,沒辦法,只能硬著上了,遇到問題的時候,回答的問題的人很少,同時手冊之類只寫了某部分,還有很多部分並沒有寫上去。對於一個新手來說,直接KO了。
二。熟悉資料庫的操作
每一個框架都有自己的操作方法,這是必須要學會的。select,delete,insert,update這幾種用法摸熟。最快的方法是看手冊,查找對應的操作。同時要知道其中的調試方法,你就可以看到原生的操作有沒有錯誤。基本都會了,這個框架至少可以開始開發項目了。
三。論壇官方網站
這個很重要,先看手冊,遇到問題先在論壇里查找一下有沒有人遇到過你這種情況,有就不用發問了。然後同一個問題,很少人再去回答一遍。有時候遇到自己能解決的問題,也回答一下,這樣可以加深你的理解,不要覺得浪費你的時間,這前提是你有時間的情況下。所以本著人人為我,我為人人的精神
四。下載一個案例。
我經常是這樣,不知道某個功能怎樣調用的時候,直接找案例里相對應的功能看代碼,看人家是怎樣調用的,再加上自己的見解。
五。手冊的類
MVC一般都有自帶一些類了,方便用戶操作,有了自己就不用再寫對應的代碼了。
六。要有「拿來主義」精神
別人的東西,你自己融會貫通了,東西就是你的了。

4. 什麼是MVCPHP

MVC由Model(模型),view(視圖)和Controller(控制器)組成,PHP MVC可以更高效地管理好3個不同層的PHP代碼。

5. 深入了解php框架mvc設計模式的原理

現在的PHP框架太多了,如yii codeigniterlaravel thinkphp 一看文檔就一大堆英文資料,學也學不過來,可是上班時候公司要求你會這個,有的要求你會那個,看書上的理論又假大空,不知道在說什麼東西,看實際的例子代碼又太復雜龐大,所以今天就做一個簡單的小例子主要來給中級階段的php同學了解MVC的共同原理,了解這些原理自己也可以設計一個mvc 框架
先創建一個主流框架的目錄,包含控制器,數據模型,視圖顯示,3個文件夾,和一個入口文件
現在來設計一個路由地址,http://localhost/mvc/index.php?c=控制器名&a=方法名¶m=參數名;然後寫在入口文件里的獲取路由的代碼,如下圖所示,這樣寫就能獲取不同的控制器名字和不同的方法,由入口文件獲取這些控制器和方法名,參數後就傳入指定的控制器方法名中
現在寫控制器的類和方法,便於接受入口文件傳入的值,控制器的作用就是協調調用數據處理和顯示樣式
現在來寫好數據處理類,數據處理主要是依靠mysql等和視圖顯示類,視圖主要就是把內容顯示出來,一般由smarty代替,數據處理文件名model.php,視圖顯示index.php
現在輸入http://localhost/mvc/index.php?c=控制器名&a=方法名¶m=參數名 看他們都顯示出來了,一個簡單的框架就完成了,大家有機會自行擴展吧!
那麼控制器和視圖,數據的關系是什麼呢?一般具體中是從入口文件得到用戶輸入的控制器和方法名,參數,再傳給用戶指定的控制器,再由控制器(a)把參數傳給數據處理(m),m處理後返回給a,a 將得到的內容傳給視圖顯示(v),v再把他顯示出來。這只是一個簡單的MVC設計模式而已,大家可以在這上面設計出比較復雜的MVC模式

6. 什麼是MVC以及PHP怎樣實現MVC

其實你的問題一開始就問錯了,即然你問了,我就隨便說說好了。
MVC 是一種設計風格,並不是一種具體手法。每個人寫代碼都有自己習慣的一種設計風格。MVC 是應用程序開發常用的一種風格,實際上並不適合 PHP,因為 PHP 的工作環境註定了它很難做出像樣的控制器,也就是 Controll 。
MVC 本來的設計風格是:整個系統由一個程序啟動,再根據用戶操作調用各個處理模塊,根據數據結果來決定顯示成什麼樣給用戶看。就像我們平時用的各種程序的主界面。這樣程序員創建好主程序以後,只要把注意力集中在開發各個子功能上就可以了。。
可是 php 大多數情況下工作於 web 環境,有「頁」的概念,每次執行都是一個新的請求。這就註定了很難實現真正的 MVC,因為用戶看到頁面時,PHP 已經執行完了,不可能再切換去調另一個 模型M 和 視圖V 。

目前自稱 MVC 的各種框架。也只不過是用一個程序判斷請求,載入不同的功能塊。只能稱之為「單點入口」,在思路上是「請求相同的部份,而包含不同的部份」。這個入口程序實際上啥也沒做,所以算不上是 MVC。反而 JS 開發的富客戶端更接近一些。由一個 JS 主程序,跟據用戶請求決定調用哪些數據,再把界面改變成什麼樣。
設計風格是前人總結出來的東西,在當前語言,當然環境,當前思維方式下。比較容易繼續思考的一種設計方式。MVC 只不過是其中一種,而且並不是最適合 PHP 的一種。偏偏被炒作得好像標准似的。。
如果你一定要, 就去看一下 「PHP 單點入口實現」吧,已經是比較接近的東西了。如果一次性的控制器也能算控制器的話……

7. php怎麼實現mvc

MVC三個字母的含義:

M:Model 模型,負責資料庫操作。

V:View 視圖,負責調用Model調取數據,再調用模板,展示出最終效果。

C:Controller 控制器,程序的入口,決定改調用哪個View,並告訴View該做什麼。

下面是一個超級簡單的MVC結構實現:

Controller.php

include'Model.php';
include'View.php';

classController{
private$model='';
private$view='';

publicfunctionController(){
$this->model=newModel();
$this->view=newView();
}

publicfunctiondoAction($method='defaultMethod',$params=array()){
if(empty($method)){
$this->defaultMethod();
}elseif(method_exists($this,$method)){
call_user_func(array($this,$method),$params);
}else{
$this->nonexisting_method();
}
}

publicfunctionlink_page($name=''){
$links=$this->model->getLinks();
$this->view->display($links);

$result=$this->model->getResult($name);
$this->view->display($result);
}

publicfunctiondefaultMethod(){
$this->br();
echo"Thisisthedefaultmethod.";
}

publicfunctionnonexisting_method(){
$this->br();
echo"Thisisthenoexistingmethod.";
}

publicfunctionbr(){
echo"<br/>";
}
}


$controller=newController();
$controller->doAction('link_page','b');
$controller->doAction();

Model.php

classModel{
private$database=array(
"a"=>"helloworld",
"b"=>"okwelldone",
"c"=>"goodbye",
);

//@TODOconnectthedatabase

//runthequeryandgettheresult
publicfunctiongetResult($name){
if(empty($name)){
returnFALSE;
}

if(in_array($name,array_keys($this->database))){
return$this->database[$name];
}
}

publicfunctiongetLinks(){
$links="<ahref='#'>LinkA</a>&nbsp;&nbsp;";
$links.="<ahref='#'>LinkB</a>&nbsp;&nbsp;";
$links.="<ahref='#'>LinkC</a>&nbsp;&nbsp;";

return$links;
}
}


View.php

classView{

publicfunctiondisplay($output){
//ob_start();

echo$output;
}

}

8. PHP程序,不用框架,如何寫成MVC模式的程序呢

至於M層,即model層,是要對資料庫的操作即一些數據相關操作,可以單獨抽

出來封裝函數或者是一個類,由C層調用其中的方法來實現與頁面交互的操作請

求,所有接受或者受到的數據經過C層調用M層進行操作,並反饋C層,提示在V

層; 通俗點講,就是說你把一些具體的方法及操作資料庫的執行方法都封裝成

函數或者類,在另一個文件中,然後由C層去引用調用或者繼承,從而實現傳統

的MVC。

閱讀全文

與php簡易mvc相關的資料

熱點內容
對矩陣壓縮是為了 瀏覽:910
setfacl命令 瀏覽:172
linux子系統中斷 瀏覽:342
linux查看進程ps 瀏覽:224
知識庫系統php 瀏覽:623
小波變換壓縮圖像python 瀏覽:151
阿里巴巴程序員怎麼月入百萬 瀏覽:173
如何使用國外伺服器 瀏覽:188
燃燈者pdf 瀏覽:468
編譯器用數學嗎 瀏覽:7
圖形化apk反編譯工具 瀏覽:48
考勤表加密怎麼辦 瀏覽:735
arj壓縮與解壓批處理怎麼寫 瀏覽:658
php和大數據哪個好 瀏覽:930
未來最值得投資的加密貨幣 瀏覽:526
ascii碼是編譯的時候用嗎 瀏覽:781
壓縮機感應包可以通用嗎 瀏覽:412
方舟伺服器怎麼發布到搜索列表 瀏覽:270
xml防反編譯 瀏覽:242
數據傳輸加密系統技術方案 瀏覽:842