※ 引述《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 的介绍, 供你做参考.
共勉之.