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