Re: [請益] 請問PHP的MVC架構的問題

看板PHP作者 (馬來糕)時間10年前 (2014/08/08 18:51), 編輯推噓1(1013)
留言14則, 4人參與, 最新討論串3/4 (看更多)
※ 引述《cat99961 (阿湯)》之銘言: : 因為發現有的公司在實作PHP似乎是用MVC架構的,於是上網查了一下MVC架構。 : 我歸納出 : Model-PHP程式設計師利用物件導向的方式撰寫一些模組供使用 : VIEW-介面設計人員進行圖形介面設計,和PHP程式設計師無關。 : 以下是我的疑問 : 1.請問以上這2點歸納的正確嗎? : 2.Model一定用OO的方式寫嗎? : 3.VIEW真的和PHP程式設計師無關嗎? : 4.至於Controller我不太了解它是什麼,和"PHP程式設計師"有關嗎? : 5. MVC 和 framework 一直常被一起提,framework 是否只是協助製作MVC架構的軟體? : 6.不用framework 也可實作MVC嗎?用framework實作MVC真的會比較容易嗎? : 希望各位高手可以幫我解答這些觀念上的問題,小妹感激不盡..... 1) 歸納不太正確, 而且方向錯了 2) 一定要, 原因有2, 第一, 寫成物件才能夠繼承 base model, 這樣才可以引用 framework 提供的工具,第二, 你的controller 才能"load"(中文應該叫裝載吧?),並 取的對應資料. 3) 不, 有關, 很多時候在view 需要寫基本的if, if(isset($data)&&$data!=NULL) echo $data; 如果不寫if, 你得程式很有可能跳出 $data 不存在等錯誤. 4)請參考另外一位仁兄的解釋, 那個比較傳神 5)MVC是程式設計的樣式(pattern), 但是凡是OOP, 遵守該設計模式整體會整齊. 例如framework = 屋子基本架構, 你需要補上牆壁/窗/門, MVC=每件屋子必須要有一廳 一廚一廁的概念, 所以 MVC是framework 的一部分, 也有framework沒有尊崇MVC的, 例如 Slim 6)可以, 但是很多東西你必須自己完成, 例如routing等. 我在前幾篇有提過, 網路上有一個叫 PHP-MVC barebone framework 的東西, 就是 你講的不用framework作MVC, 你可以自己參考看看 https://github.com/panique/php-mvc 我順便提供幾個學習資源, http://phpconf.tw/2011/ 這是phpconference 的管網, 2011年第一屆同時有幾個framework作介紹, 分別是: codeigniter, Symfony 2012的時候就有 slim framework 的介紹, 供你做參考. 共勉之. -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 203.106.158.9 ※ 文章網址: http://www.ptt.cc/bbs/PHP/M.1407495069.A.B14.html

08/09 03:21, , 1F
傳統php: 不管你房子有多少房間,也不管在房間裡幹嘛
08/09 03:21, 1F

08/09 03:21, , 2F
可以在客廳工作睡覺吃飯,都沒問題
08/09 03:21, 2F

08/09 03:23, , 3F
MVC pattern: 規定php程式必須分成客廳、臥室、廚房
08/09 03:23, 3F

08/09 03:24, , 4F
MVC framework: 方便規劃客廳臥室廚房要幾間以及內裝
08/09 03:24, 4F

08/09 03:25, , 5F
並保證這些房間之間可以各自互通,不用爬窗出去再進來
08/09 03:25, 5F

08/09 20:41, , 6F
新阿姆斯特朗炫風噴射阿姆斯特朗砲的房間也有嗎
08/09 20:41, 6F

08/09 22:51, , 7F
有新阿姆斯特朗炮package,可以用composer裝…
08/09 22:51, 7F

08/09 22:52, , 8F
裝上去就變成新阿姆斯特朗炮serviceProvider...
08/09 22:52, 8F

08/10 13:51, , 9F
單筆輸出的可以在model先設定好defalut值有無資料
08/10 13:51, 9F

08/10 13:52, , 10F
多筆再從view抽出包裝成widget去讀model
08/10 13:52, 10F

08/10 13:52, , 11F
這樣子view的判斷式就已經減少很多了
08/10 13:52, 11F

08/10 13:53, , 12F
default
08/10 13:53, 12F

08/10 20:19, , 13F
謝指教, 第3點我只是用我知道的情況去說明view 跟
08/10 20:19, 13F

08/10 20:19, , 14F
coder的直接關係而已.
08/10 20:19, 14F
文章代碼(AID): #1JvAkTiK (PHP)
文章代碼(AID): #1JvAkTiK (PHP)