Re: [请益] 请问PHP的MVC架构的问题

楼主: rexmouse4v (环岛失败.....囧)   2014-08-13 07:10:33
※ 引述《cat99961 (阿汤)》之铭言:
: 因为发现有的公司在实作PHP似乎是用MVC架构的,于是上网查了一下MVC架构。
: 我归纳出
: Model-PHP程式设计师利用物件导向的方式撰写一些模组供使用
: VIEW-接口设计人员进行图形接口设计,和PHP程式设计师无关。
MVC的定义去看WIKI就好
其实WIKI的解释满详细的
: 以下是我的疑问
: 1.请问以上这2点归纳的正确吗?
: 2.Model一定用OO的方式写吗?
在正常的 MVC 的世界里...应该全部都是OO
: 3.VIEW真的和PHP程式设计师无关吗?
不可能....因为你也会需要有判断的情境
也可能需要跑循环的情境
if & for(each) 应该会很常出现
但是绝对不会在 VIEW 上面看到商业逻辑
: 4.至于Controller我不太了解它是什么,和"PHP程式设计师"有关吗?
: 5. MVC 和 framework 一直常被一起提,framework 是否只是协助制作MVC架构的软件?
: 6.不用framework 也可实作MVC吗?用framework实作MVC真的会比较容易吗?
: 希望各位高手可以帮我解答这些观念上的问题,小妹感激不尽.....
不要执著在字面上的用意
MVC 只是一个概念
CONTROLLER 控制资料
MODEL 封装资料
VIEW 画资料
就这样
FRAMEWORK 只是一个工具
用来帮助你快速开发的工具
所以 MVC FRAMEWORK,他只是辅助你写出 MVC 基本概念而已
剩下的要靠你的程式架构与规划去做
不用 FRAMEWORK 也可以做出 MVC
通常 MVC 的 URL 长这样
http://localhost/index.php?r=job/view&aaa=1
index.php 是主要控制点
由他来分配要去哪一个 CONTROLLER
job 就是那个 CONTROLLER
但 job 下可能不只做一件事
可能下面还有 ajax, list
所以需要 /view 告诉 CONTROLLER 说
进到 job 后要去 view 的 function 画画面
而 aaa 就是 view 拿到的参数
你可以先从做简单的 MVC 开始写
CONTROLLER 拿到资料后
交给 MODEL 去封装(变成你想要的资料结果)
然后交给 VIEW 去 RENDER
这样子 OK 了,再去看 N-TIER
你会比较更了解 OO 在干嘛
如果在更进阶一点
再去看 DESIGN PATTERN
你就会知道 MVC 其实也是一种复合设计模式
作者: cat99961 (阿汤)   2014-08-13 14:53:00
非常感谢您,观念写得很好还有感谢其他各位我现在正在学symfony,希望学了之后可以更具体的了解
作者: terrybob (罪云樵)   2014-08-19 17:02:00
推了,感谢教学!

Links booklink

Contact Us: admin [ a t ] ucptt.com