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

作者: malaycake1 (馬來糕)   2014-08-08 18:51:05
※ 引述《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 的介紹, 供你做參考.
共勉之.
作者: MOONRAKER (㊣牛鶴鰻毛人)   2014-08-09 03:21:00
傳統php: 不管你房子有多少房間,也不管在房間裡幹嘛可以在客廳工作睡覺吃飯,都沒問題MVC pattern: 規定php程式必須分成客廳、臥室、廚房MVC framework: 方便規劃客廳臥室廚房要幾間以及內裝並保證這些房間之間可以各自互通,不用爬窗出去再進來
作者: rocairforce (拾貳)   2014-08-09 20:41:00
新阿姆斯特朗炫風噴射阿姆斯特朗砲的房間也有嗎
作者: MOONRAKER (㊣牛鶴鰻毛人)   2014-08-09 22:51:00
有新阿姆斯特朗炮package,可以用composer裝…裝上去就變成新阿姆斯特朗炮serviceProvider...
作者: dlikeayu (太陽拳vs野球拳)   2014-08-10 13:51:00
單筆輸出的可以在model先設定好defalut值有無資料多筆再從view抽出包裝成widget去讀model這樣子view的判斷式就已經減少很多了default
作者: malaycake1 (馬來糕)   2014-08-10 20:19:00
謝指教, 第3點我只是用我知道的情況去說明view 跟coder的直接關係而已.

Links booklink

Contact Us: admin [ a t ] ucptt.com