導航:首頁 > 編程語言 > phpmvc結構

phpmvc結構

發布時間:2022-04-13 08:22:01

A. php常用的mvc框架有哪些

thinkphp、yii 、laravel等。現在的框架都是mvc。

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

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

C. php架構,mvc開發模式,php程序員工作~

PHP開發框架背後的思想被稱為「模型—視圖—控制器」(MVC)。MVC是這樣一種架構模式,它隔離了業務邏輯與UI,允許其一改變而另一者不受影響。(也可以說是關注點的隔離)在MVC中,模型負責數據,視圖負責表現,控制器則是程序主體或者說是負責業務邏輯。從本質上說,MVC拆分了一個程序的開發過程,這樣你就可以修改獨立的每一部分,而其他部分不受影響,這是十分重要的,它使得編寫PHP代碼更為快捷簡單
開發者可能出於不同的考慮而使用PHP開發框架,不過首當其沖的原因是為了加速開發過程。相似工程之間的代碼重用能夠節省開發者大量的時間和精力。PHP開發框架內置了預建的模塊,免去了冗長又令人厭煩的編程工作。這樣開發者就能夠把時間活在開發實際程序上,而不是每一次都要為每一個項目重建基礎模塊。

D. 如何用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;     }     

E. 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:你以為這么多字我是復制的嗎?我可真的都是手打出來的,我一定是太閑了,採納吧!

F. php的tp框架和mvc有啥區別

首先說Model吧。
在TP中是一個表對應一個Model,而且普通Model中只是一些自動驗證啊,自動完成啊、還有數據欄位信息啊一些東西;而CI中的Model則完全不同,一個Model不必約束於一個表,也就是說名字為abc的Model中你也可以查詢名字為def的表中的數據,而且可以定義方法完成一些數據查詢,比如我可以在名為articles_model的Model中定義一個名字為get_articles的方法來獲取所有文章信息,當某個Controller載入了這個Model後,就可以在相應的Controller中用

1

$this->articles_model->get_articles();

來方便地獲取所有文章信息,而對於TP來說,這些操作只能在Action類中完成。2.0版的TP已經把View、Relation和Adv三個高級查詢model庫類定為不自動載入了,看了一下手冊,感覺除了View視圖查詢容易用一點,另外兩個都不怎麼好用,感覺用起來太復雜,還不如用原生的SQL查詢。CI的Model還有一個使我很喜歡的方法就是dbprefix方法,在使用原生的sql查詢時使用這個函數使得修改資料庫表名前綴後你的代碼不需要經過任何改動。在TP中我沒有發現類似的函數,當我用TP開發一個博客系統時,發現關聯查詢很麻煩,於是想用原生的SQL查詢,卻沒有找到自動增加資料庫表名前綴的方法,雖然可以自己修改TP的核心庫來實現,但是還是覺得這樣有點不太好。真的要感謝TP,如果不是TP,也許我就不會去關注CI了,當我那天看了幾頁CI的英文文檔後,立馬就對它產生的深厚的興趣,於是第二天一起床就開始看CI的手冊,雖然是從官網下的英文版的,不過它的手冊寫得很簡潔、很周到,邊看邊操作,看完手冊後我就幾乎能熟練使用這個框架了。於是用它開發了一個博客系統。
CI的Model類簡單易用,TP的Model類功能相對來說要強大一些,但是用起來個人感覺沒有那麼方便。
其次,對於View,從功能上講,TP的View要更加強大一些,選擇更多一些,在TP中你可以選擇就用PHP作模板引擎,可以就用TP自身的模板引擎,也可以選擇用smarty等其它第三方模板引擎。而在CI中就只能用CI內置的功能簡單的模板引擎或者用原生的PHP代碼作模板,個人覺得用PHP作模板更好一些,一來省去了學習另外的模板引擎語法的麻煩,二來執行效率更高一些。因些從View來講,選擇CI或者是TP都無所謂。
再次是Controller了,在CI中的應用的控制器是繼承自核心類Controller的,TP中的控制器則是繼承於核心類Action。不過還是有不同的,在TP中,你可以把一些公共的變數或者在多個控制器中都要執行的東西放在一個action里,假如這個action文件為CommonAction.class.php ,在它的_initialize方法中可以執行一些在多個控制器中都要執行的代碼或者初始化一些多個控制器都要使用的變數,這樣,應用的其它action只要繼承CommonAction 就可以實現了。因為框架在載入相應action時首先會自動載入那個CommonAction的。而在CI中就沒有這個方便的功能了,但是也可以自己寫一個library,在該library類的__construct方法里放一些代碼,然後在每個控制器中都載入這個library,這樣也可以實現像TP一樣的功能。不過相對來說麻煩了一些。TP還有一點比較靈活的就是,在這個控制器(action)裡面可以執行那個控制器中的函數(比如用A或者R函數來實現),在CI中則不行,你不能在這個控制器中執行那個控制器中的函數。還有就是TP可以定義一個名為EmptyAction的控制器,當所有控制器都找不到時,就調用這個Empty控制器。這一點如果與empty方法配合,可以使得URL大大縮減。雖然CI和TP都支持空操作,不過這二者的空操作名稱不相同,實現的優先順序也不相同。在TP中的空操作(_empty方法)優先順序是最低的,也就是說當當前控制器的所有操作都找不到時才調用這個空操作;在CI中則恰恰相反,只要存在空操作(_remap方法),該控制器的其它的操作都沒用了(不能訪問了)。

G. PHP框架MVC結構中的html文件直接寫php代碼瀏覽器為什麼可以直接解析代碼

那些html文件是要被php文件包涵進去的,執行的時候就是在php文件中了。

最後輸出的是靜態頁?
你說是的網址中的後綴嗎?
那個是可以通過apache之類的進行url重寫的,實際上是偽靜態。

如果說是靜態緩存的話,那是要經過php處理的頁面內容保存為html文件,當用戶訪問的時候直接給html文件呈現給他。

H. php mvc框架

MVC不是建立幾個包而已,而是一種思想,當然幾個包會讓你把這個思想實例出來- -,比如說你有一個表,而已你實例這個表的話,就要有一個類來囊括其中的欄位,包括一些_get,_set方法,然後用另一個類繼承此類,封裝一些添刪改查的等等方法,這個類就可以理解成Model層,可以放在一個包下,而邏輯頁面望望要require_noce此文件類來實例化此類,通過對象來調用其中的方法,進而顯示給客戶,php中C層和V層在不用模板的情況下(比如說smarty)不用分離的那麼明顯,要麼怎麼是php那~小快靈么~整體上不局限於java那種純的面向對象,但又不失對數據安全性與維護性特點,這就是php的MVC~

閱讀全文

與phpmvc結構相關的資料

熱點內容
單片機和編程器互相傳輸數據 瀏覽:88
app訂單怎麼取消 瀏覽:465
程序員用雙顯示器有什麼作用 瀏覽:609
網約車演算法殺熟 瀏覽:4
卡薩帝用的什麼壓縮機 瀏覽:153
350乘20演算法 瀏覽:90
自助編程軟體app 瀏覽:436
伺服器如何看日活數 瀏覽:684
數控車床原理圖及編程 瀏覽:287
java文件流下載 瀏覽:336
編程工作工資多少 瀏覽:437
專業安全文件夾 瀏覽:777
表格里的根號演算法怎麼打 瀏覽:193
javacorepdf 瀏覽:573
pdf轉換word編輯 瀏覽:446
35歲程序員實習期恐慌 瀏覽:701
如何做一個系統u盤文件夾名字 瀏覽:970
如何確認哪個ip重啟了伺服器 瀏覽:132
照片壓縮軟體綠色版 瀏覽:109
pgp基於什麼體系加密 瀏覽:637