導航:首頁 > 編程語言 > 自己寫phpmvc

自己寫phpmvc

發布時間:2022-07-12 02:20:57

Ⅰ 自己寫php的MVC框架時怎樣讓他在地址欄輸入 http://localhost/login就直接跳到views里的login.php里去

1,檢查web服務是不是真的有開 2,ping localhost 看下IP是否是本機IP或127.0.0.X 3,關掉防火牆

Ⅱ 自己用PHP寫的類似MVC結構的程序,如何實現m=test&a=show這樣的功能

<?php

//把這個php保存為index.php
//嘗試訪問index.php?m=test&a=show
//嘗試訪問index.php?m=test&a=show2

$cls=isset($_GET['m'])?$_GET['m']:null;
$action=isset($_GET['a'])?$_GET['a']:null;

classtest{

functionshow(){

echo'callshow!';
}

functionshow2(){

echo'callshow2!';
}

}

if(!$cls||!class_exists($cls))
die('請求的類不存在!');

//這里可以根據類名參數載入類這里寫了test類就不用載入了
$inst=new$cls();

if(!is_callable(array($inst,$action)))
die('請求的方法不存在或不能調用!');

//如果還要有方法有參數可以用反射調用方法來處理
$inst->$action();

Ⅲ 自己建立php mvc框架問題

這個問題不會有人閑著給你講解的、除非復制的!結貼吧!

Ⅳ php如何實現mvc+l,思路是什麼

M model 一般是控制資料庫、資源、對象屬性的
V view 視圖,也就是給客戶呈現的UI
C controller 邏輯事務處理器,主要針對客戶端傳來的數據該怎麼處理、輸出,
L Language 國內的人比較少聽說,我們河南新社 經常給國外的客戶做,他們要求前台UI的多數文本,是可以輕松修改,或者支持多國語言。這時候,M和C就不能簡單的把文本固定寫到代碼里,而是用$this->language->get['text_customer'] 這個變數來替代以前的 "客戶"這樣一個文本;然後建立一個language庫,結構上跟MCV平行。
當然我也聽某群里的「大神」給別人解釋是lib,我是不贊同的,說到底這個大神沒有接觸到國外的業務,而國內小型業務還不要去語言分離或者多語言。如果是是lib,那就是引擎層面的了,跟mvc在結構上不是平行的,不如說 Catalog(MVC)+System(Lib+Engine)

Ⅳ 如何入門一個PHP MVC框架

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

Ⅵ 如何用PHP實現自己的MVC

MVC三個字母的含義: M:Model 模型,負責資料庫操作。 V:View 視圖,負責調用Model調取數據,再調用模板,展示出最終效果。 C:Controller 控制器,程序的入口,決定改調用哪個View,並告訴View該做什麼。 下面是一個超級簡單的MVC結構實現: Controller.php include 'Model.php'; include 'View.php'; class Controller {     private $model     = '';     private $view     = '';          public function Controller(){         $this->model    =    new Model();         $this->view        =    new View();     }          public function doAction( $method = 'defaultMethod', $params = array() ){         if( empty($method) ){             $this->defaultMethod();         }else if( method_exists($this, $method) ){             call_user_func(array($this, $method), $params);         }else{             $this->nonexisting_method();         }     }          public function link_page($name = ''){         $links = $this->model->getLinks();         $this->view->display($links);                  $result = $this->model->getResult($name);         $this->view->display($result);     }          public function defaultMethod(){         $this->br();         echo "This is the default method. ";     }          public function nonexisting_method(){         $this->br();         echo "This is the noexisting method. ";     }          public function br(){         echo "";     } } $controller = new Controller(); $controller->doAction('link_page', 'b'); $controller->doAction(); Model.php class Model {     private $database = array(         "a"    =>    "hello world",         "b"    =>    "ok well done",         "c"    =>    "good bye",     );          //@TODO connect the database          //run the query and get the result     public function getResult($name){         if( empty($name) ){             return FALSE;         }                  if( in_array($name, array_keys( $this->database ) ) ){             return $this->database[$name];         }     }     public function getLinks(){         $links = "Link A ";         $links.= "Link B ";         $links.= "Link C ";                  return $links;     } } View.php class View {          public function display($output){ //        ob_start();                  echo $output;     }     

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

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

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

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

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

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

的MVC。

Ⅷ 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;
}

}

Ⅸ 什麼是MVC以及PHP怎樣實現MVC

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

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

Ⅹ php如何實現mvc框架,一定要突出php實現,不是其他語言!!!求大神(最好有步驟)

第一步,單一入口,任何頁面都請求的是根目錄index.php文件,通過querystring或者pathinfo兩種方式任選一種或兩種都用來獲取參數。如果能用URL重寫隱藏URL地址中的index.php更好。
第二步,在index.php中處理接受到的參數,至少要從這些參數中獲得控制器(MVC中的C)的名稱,和方法的名稱,控制器是一個類,有了控制器的名稱就可以調用這個類,並通過方法的名稱來執行控制器裡面的某一個方法,其它參數可以作為這個方法的參數。如果項目較大,還可以把控制器分成不同模塊,放在不同目錄里。
第三步,在控制器裡面處理用戶提交數據,執行流程式控制制,最後將結果輸出到視圖文件(MVC中的V)上,視圖文件也可以叫模板,可以在控制器里直接include,也可以使用模板引擎。
補充1:模型(MVC中的M)指的是資料庫模型,也就是各個數據表的數據處理邏輯,你可以做一個資料庫的操作類,也可以做一個ORM對象關系映射框架,在控制器中需要處理數據的時候直接調用就行了。其實PHP中的M比較模糊,看你的習慣,本來MVC開發模式就是為了提高開發效率的,所以你覺得怎麼方便怎麼來。
補充2:你還可以把常用的功能都封裝成類,一個類實現一個功能,這些類的集合就是類庫,就是我們常說的輪子。簡單的功能也可以做成函數。總之,在需要的時候調用就行了。
補充3:現在幾乎所有主流的PHP框架都是MVC,你如果已經明白了PHP的編程基礎,不妨可以學習一兩種框架,這樣你很快就明白MVC了,並且可以開發自己的框架。
補充4:你以為這么多字我是復制的嗎?我可真的都是手打出來的,我一定是太閑了,採納吧!

閱讀全文

與自己寫phpmvc相關的資料

熱點內容
awss3命令 瀏覽:356
百度店鋪客戶訂單手機加密 瀏覽:500
釘釘班群文件夾怎麼上傳文件 瀏覽:749
人社app怎麼解綁手機 瀏覽:101
caj文件夾打不開 瀏覽:475
什麼app可以將電量變色 瀏覽:692
解放出你的解壓抖音小游戲 瀏覽:345
什麼方式解壓比較好 瀏覽:266
erp是什麼伺服器 瀏覽:185
python中tmp 瀏覽:24
說明wpf加密過程 瀏覽:145
java讀取list 瀏覽:703
iis7gzip壓縮 瀏覽:40
有什麼安卓機打吃雞好 瀏覽:598
三星u盤加密狗 瀏覽:474
php函數的返回值嗎 瀏覽:588
國企穩定程序員 瀏覽:328
編程貓如何使用教程視頻 瀏覽:220
安卓遠端網頁如何打日誌 瀏覽:218
壓縮flash大小 瀏覽:993