① 哪裡有php mvc方面的優秀教程啊!請大家推薦
建議去接觸一下 smarty和CodeIgniter 都是比較好用的MVC架構 直接看著他們的手冊就能夠對mvc有更深一步的理解了。呵呵 希望我說的對你有用!
② php中MVC的開發模式如何去理解
MVC設計模式把一個軟體組件區分為三個不同的部分,model,view,controller。
MVC模式是"Model-View-Controller"的縮寫,中文翻譯為"模式-視圖-控制器"。MVC應用程序總是由這三個部分組成。Event(事件)導致Controller改變Model或View,或者同時改變兩者。只要Controller改變了Models的數據或者屬性,所有依賴的View都會自動更新。類似的,只要Controller改變了View,View會從潛在的Model中獲取數據來刷新自己。MVC模式最早是smalltalk語言研究團提出的,應用於用戶交互應用程序中。smalltalk語言和java語言有很多相似性,都是面向對象語言,很自然的SUN在petstore(寵物店)事例應用程序中就推薦MVC模式作為開發Web應用的架構模式。MVC模式是一種架構模式,其實需要其他模式協作完成。在J2EE模式目錄中,通常採用service to worker模式實現,而service to worker模式可由集中控制器模式,派遣器模式和Page Helper模式組成。而Struts只實現了MVC的View和Controller兩個部分,Model部分需要開發者自己來實現,Struts提供了抽象類Action使開發者能將Model應用於Struts框架中Model是代表組件狀態和低級行為的部分,它管理著自己的狀態並且處理所有對狀態的操作,model自己本身並不知道使用自己的view和controller是誰,系統維護著它和view之間的關系,當model發生了改變系統還負責通知相應的view。
View代表了管理model所含有的數據的一個視覺上的呈現。一個Model可以有一個以上的View,但是Swing中卻很少有這樣的情況。
Controller管理著model和用戶之間的交互的控制。它提供了一些方法去處理當model的狀態發生了變化時的情況。
③ php架構,mvc開發模式,php程序員工作~
PHP開發框架背後的思想被稱為「模型—視圖—控制器」(MVC)。MVC是這樣一種架構模式,它隔離了業務邏輯與UI,允許其一改變而另一者不受影響。(也可以說是關注點的隔離)在MVC中,模型負責數據,視圖負責表現,控制器則是程序主體或者說是負責業務邏輯。從本質上說,MVC拆分了一個程序的開發過程,這樣你就可以修改獨立的每一部分,而其他部分不受影響,這是十分重要的,它使得編寫PHP代碼更為快捷簡單
開發者可能出於不同的考慮而使用PHP開發框架,不過首當其沖的原因是為了加速開發過程。相似工程之間的代碼重用能夠節省開發者大量的時間和精力。PHP開發框架內置了預建的模塊,免去了冗長又令人厭煩的編程工作。這樣開發者就能夠把時間活在開發實際程序上,而不是每一次都要為每一個項目重建基礎模塊。
④ 關於pHP設計mvc!!!對於mvc 的設計理解我都了解,但是具體操作,寫代碼時是怎樣一個順序,應該從哪開始3Q
我建議你可以下載一個ThinkPHP的框架,這個框架完全是以MVC來完成的,看看其中帶的示例源代碼,估計你會對MVC有個比較明確的認識。
⑤ 如何入門一個PHP MVC框架
一。選擇 一個框架
至於選哪一種框架,主要看個人,1)最好是身邊朋友都有人在用,因為你不懂的時候方便解決。有時候論壇,手冊上的解答你未必理解的通透,特別是沒有接觸過框架的phper來說,更是不知所雲。2)選擇此框架論壇比較活躍的,這是身有同感,前一段時間玩qeephp框架的時間,論壇冷冷清清的,工作需要,沒辦法,只能硬著上了,遇到問題的時候,回答的問題的人很少,同時手冊之類只寫了某部分,還有很多部分並沒有寫上去。對於一個新手來說,直接KO了。
二。熟悉資料庫的操作
每一個框架都有自己的操作方法,這是必須要學會的。select,delete,insert,update這幾種用法摸熟。最快的方法是看手冊,查找對應的操作。同時要知道其中的調試方法,你就可以看到原生的操作有沒有錯誤。基本都會了,這個框架至少可以開始開發項目了。
三。論壇官方網站
這個很重要,先看手冊,遇到問題先在論壇里查找一下有沒有人遇到過你這種情況,有就不用發問了。然後同一個問題,很少人再去回答一遍。有時候遇到自己能解決的問題,也回答一下,這樣可以加深你的理解,不要覺得浪費你的時間,這前提是你有時間的情況下。所以本著人人為我,我為人人的精神
四。下載一個案例。
我經常是這樣,不知道某個功能怎樣調用的時候,直接找案例里相對應的功能看代碼,看人家是怎樣調用的,再加上自己的見解。
五。手冊的類
MVC一般都有自帶一些類了,方便用戶操作,有了自己就不用再寫對應的代碼了。
六。要有「拿來主義」精神
別人的東西,你自己融會貫通了,東西就是你的了。
⑥ 誰知道那有關於PHP MVC模式的教程,請大家多多提供
不建議你學習國外的,一般都比較難弄懂的。
php框架太多了,你找一個簡單點的來學習入門,以後的都變得很好學習了。
你可以學習一個入門簡單點的,例如thinkphp,是中國的。
官方網站http://www.thinkphp.cn/
入門教程http://www.thinkphp.cn/Manual/4/
⑦ 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'; 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框架最值得推薦
1、Laravel,laravel這個框架很有意思,定時任務,數據遷移,大概你能在web中想到的功能這個框架都可以提供,它的路由借鑒了Ruby on Rails 和python的flask框架,但是還提供了web方面其它的一些功能,你可以把它想像成PHP中像Java一樣強大的Web中的瑞士軍刀,前提是你不考慮性能,因為它的實現使用了大量的閉包和反射,大概在PHP里嚴格引入設計模式的也只有這個了。
生產效率:5星
學習難度:5星(5星為最難,學習成本最高,下同)
性能:2星
社區活躍:4星(社區活躍可以很方便的找到別人已經開發的功能,專指中文文檔,組件豐富性)
2、ThinkPHP5,大概3年前研究過TP3源碼,使用起來簡單,因為自動載入的問題,性能是個坑,現在發展到5,個人認為已經是一個相當優秀的框架了,路由定義簡單,配置簡單,文檔豐富,社區也相當活躍
生產效率:5星
學習難度:1星
性能:4星
社區活躍:4星
3、Yii2,Yii2的路由分發跟TP5稍微有點不一樣,也使用了反射的功能,自動載入現在都使用的composer,大體上都差不多,都有延時載入,Yii2的路由相對智能一些,不用去手動維護,類似於TP3所以使用起來也是很方便,性能比TP5應該略差點,沒測試過,從源碼來看
生產效率:5星
學習難度:2星
性能:3.5星
社區活躍:4星(很多強大的組件,你只要下載就行了,會省很多事)
4、CakePHP,這個框架內部的封裝性看上去沒上面那幾個優美,但是它自己實現了use關鍵字功能,所以兼容性來看應該是比上面那幾個好點的,但這在新項目上應該不是問題,新項目上PHP7,啥都別想,准沒錯。它的路由定義類似於TP5但是稍微多點功能,不過其實是個雞肋。中文文檔就不說了,很不好找。不過也算是個相對簡單的框架嚴格遵循MVC
生產效率:3星
學習難度:3星
性能:4星
社區活躍:2星
5、Workman,這個框架相當強大,如果你要實現一些復雜的協議或者用php做一些websocket推送或者TCP/UDP伺服器的話,這個框架可能可以滿足你的需求,也有一些非同步的組件,比較高級的框架,初中級程序員可能用不上
生產效率:3星
學習難度:4星
性能:3星
社區活躍:2星
6、swool,這是個相當有意思的框架,性能很強大,旁友,你聽說過非同步編程的nodejs,python的tornado框架嗎,這個在php里做的就是一個這樣的事情,國內的一位老兄開發的C擴展,用php來非同步編程,看了下文檔,稍微做了個性能測試,相當優秀,就是不知道在項目中重度使用會不會踩到什麼坑,而且這也是一個相當高級的框架。大部分人可能直接轉node了吧,畢竟node生態環境已經相當好了,總之,如果你想用php試試非同步編程來提高性能,非這個框架莫屬。性能獨一檔,編程難度也相對高一些,你需要有些進程的理論基礎
生產效率:3星
學習難度:4星
性能:6星
社區活躍:2星
7、Yaf,鳥哥寫的c擴展框架,然而你要自己實現很多輪子,生態環境是個大問題。
生產效率:4星
學習難度:4星
性能:5.5星
社區活躍:2星
其它框架還沒怎麼了解,國內的話,根據具體業務,選上面幾個,沒錯。
⑩ 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:你以為這么多字我是復制的嗎?我可真的都是手打出來的,我一定是太閑了,採納吧!