作者malaycake1 (马来糕)
看板PHP
标题Re: [请益] 请问PHP的MVC架构的问题
时间Fri Aug 8 18:51:05 2014
※ 引述《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://webptt.com/cn.aspx?n=bbs/PHP/M.1407495069.A.B14.html
1F:→ MOONRAKER:传统php: 不管你房子有多少房间,也不管在房间里干嘛 08/09 03:21
2F:→ MOONRAKER:可以在客厅工作睡觉吃饭,都没问题 08/09 03:21
3F:→ MOONRAKER:MVC pattern: 规定php程式必须分成客厅、卧室、厨房 08/09 03:23
4F:→ MOONRAKER:MVC framework: 方便规划客厅卧室厨房要几间以及内装 08/09 03:24
5F:→ MOONRAKER:并保证这些房间之间可以各自互通,不用爬窗出去再进来 08/09 03:25
6F:推 rocairforce:新阿姆斯特朗炫风喷射阿姆斯特朗炮的房间也有吗 08/09 20:41
7F:→ MOONRAKER:有新阿姆斯特朗炮package,可以用composer装… 08/09 22:51
8F:→ MOONRAKER:装上去就变成新阿姆斯特朗炮serviceProvider... 08/09 22:52
9F:→ dlikeayu: 单笔输出的可以在model先设定好defalut值有无资料 08/10 13:51
10F:→ dlikeayu: 多笔再从view抽出包装成widget去读model 08/10 13:52
11F:→ dlikeayu: 这样子view的判断式就已经减少很多了 08/10 13:52
12F:→ dlikeayu: default 08/10 13:53
13F:→ malaycake1: 谢指教, 第3点我只是用我知道的情况去说明view 跟 08/10 20:19
14F:→ malaycake1: coder的直接关系而已. 08/10 20:19