【PHP】MVC框架为什么这么难!!! 4年后终于明白了,被ThinkPHP害得!! 本帖最后由 xuzuning 于 2014-11-28 09:42:28 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 称为 Action 而不是 Controller 是有道理的Action 基类 完成了 Controller 的工作而派生于 Action 的类完成的是 Model (业务模型)的工作而 Model 类只是数据表的映射其实认真看一下开发手册就都知道了,何苦要花4年时间? 学习了,原来如此。不过如果命名为Controller确实好理解一下。一开始就把m a 往Action.Class 和Model.class上想,所以导致一直都搞不懂ThinkPHP mvc。 一直觉得ThinkPHP是工厂模式。 主要还是因为,thinkphp是“借鉴”SSH,在SSH里面的MVC就是这样命名的。 今天重新看了一遍,大概的看懂了。不过分布式构架、HTTPSQS、sphinx 这些没用过。电脑配置太低了,装IDE都CPU 100% 自己简单实现 下MVC整个流程就明白了。新手也许就3个月一年才能实现。老手实现Thinkphp框架同样功能(mvc主要功能)。也就最多几天或者几个小时。本php版主估计3小时就足够了吧。ThinkPHP作者可是php顶尖高手。ThinkPHP极为简单,而为极为强大,这者作者厉害的地方。手册也非常完善方便。 本php版主估计3小时就足够了吧。? 3分钟 你搞错了,thinkphp 2.x 也就是你说的什么action的,是最清晰的,代码也是最易懂得现在的thinkphp 3.x,反而变得复杂不易懂了。 其实地址中的m是模块module a是方法action模块和方法同时定位某个控制器方法,所以说module+action=controller 即地址中m+a=c而MVC中的m是模型model ,不能用地址来调用,必须系统内部调用的...你要怪得怪模块和模型的英文都是m开头产生了混淆...这样说应该清楚明白了:mvc = model + view + controllercontroller = module + action 本php版主估计3小时就足够了吧。? 3分钟本php版主估计3小时就足够了吧。? 3分钟3小时,够长了。对高手版主这样php高手真不难的。本人实现过,才敢如此说。 其实楼主想要的其实有一个现成的...Yii...下面是一个控制器class ApprovalController extends Controller{ public function actionUpdate() { $model = new ApprovalList; $this->render('update', array('model' => $model)); }}MODEL层就不用说咯...现在发现很多控制类里面一部分数据处理的东东,都宁愿写进MODEL层, 认认真真把楼主的很多帖子关注了一遍!!说句实在的,LZ是否在一些问题上钻牛角尖了呢?。MVC。固然THINKPHP命名为ACTION。但说白了,很简单的一个东西。至于那么复杂么?我始终觉得程序员一个开怀的心态比较好!!没有什么是固定不变的。。PHP可以增加面向对象,想JAVA学习。JAVA也可以痛改前非,再也不是那个运行臃肿缓慢的java了。说到MVC,如果说写个HELLO WORLD。确实没必要用。但是你要和很多人配合工作的话,MVC非常有好处。其意义也在于此!!就好比自行车很方便,但是你从客厅到卧室,没必要骑车。考虑问题,要考虑使用场景!!关于框架的话,意义类似!!主要在于方便。。当然对于那些拿性能做借口,而拒绝OOP。拒绝框架.拒绝任何开发模式的人。。我只能说,没有维护,就没有性能!! 楼主这心态有待调整THinkPHP我认为是个很优秀的框架,速度慢死?框架所带来的速度影响是很小的,仔细找找你的数据库IO这边是不是有问题...MVC...这框架有什么高深的么,MVC只解决UI层面的事情,把UI和业务分开,C就是2.X版本的Action,3.X版本的Controller。C是控制器,调取服务接口(S,V),当然ThinkPHP也支持你在C里面些业务逻辑,如果网站不是很大的话完全可以,甚至不用C直接显示View,M是数据业务层面。如果你的业务大,3.X还支持分更多层,比如Service,Logic层,说到底还是根据业务来,MVC是个很小的东西。楼主你看过Tp的源码么....很优秀的代码,读一遍就知道MVC框架是怎么工作的。 JSP中最先使用MVC的就是struts框架,struts里面就是使用的action,所以thinkphp模仿struts也action,现在流行springMVC了,springMVC使用control,他就改了 spring也可实现MVC哪现在JAVA为何还是SSH框架呢? 关于PHP 模板的 二次开发 大家有建议没。。 页面跳转问题求答案 求助!PHP正规帮取点东西 zend studio 7.1的ftp链接问题[高分在线等] 新手 很简单的问题 echo $id 高分询问:像这个网站是用什么技术做的?(来这里问,asp.net版块儿没人会) [分享]可以随意定义排序语句的千万数量级分页显示存储过程 请看一下这个登陆框怎样制作和使用? 如何点击控制键调用声音文件按顺序播放 我求大家帮我一个忙(来者有分,5月1日之前都有效) php上传图片时有什么常用的类可以做做等比压缩的? php问题
Action 基类 完成了 Controller 的工作
而派生于 Action 的类完成的是 Model (业务模型)的工作
而 Model 类只是数据表的映射其实认真看一下开发手册就都知道了,何苦要花4年时间?
学习了,原来如此。不过如果命名为Controller确实好理解一下。一开始就把m a 往Action.Class 和Model.class上想,所以导致一直都搞不懂ThinkPHP mvc。
今天重新看了一遍,大概的看懂了。不过分布式构架、HTTPSQS、sphinx 这些没用过。
电脑配置太低了,装IDE都CPU 100%
新手也许就3个月一年才能实现。老手实现Thinkphp框架同样功能(mvc主要功能)。也就最多几天或者几个小时。
本php版主估计3小时就足够了吧。
ThinkPHP作者可是php顶尖高手。
ThinkPHP极为简单,而为极为强大,这者作者厉害的地方。
手册也非常完善方便。
本php版主估计3小时就足够了吧。? 3分钟
现在的thinkphp 3.x,反而变得复杂不易懂了。
模块和方法同时定位某个控制器方法,所以说module+action=controller 即地址中m+a=c
而MVC中的m是模型model ,不能用地址来调用,必须系统内部调用的...
你要怪得怪模块和模型的英文都是m开头产生了混淆...这样说应该清楚明白了:
mvc = model + view + controller
controller = module + action
本php版主估计3小时就足够了吧。? 3分钟
本php版主估计3小时就足够了吧。? 3分钟
3小时,够长了。对高手版主这样php高手真不难的。本人实现过,才敢如此说。
Yii...
下面是一个控制器class ApprovalController extends Controller{
public function actionUpdate()
{
$model = new ApprovalList;
$this->render('update', array('model' => $model));
}
}MODEL层就不用说咯...
现在发现很多控制类里面一部分数据处理的东东,都宁愿写进MODEL层,
MVC。固然THINKPHP命名为ACTION。但说白了,很简单的一个东西。至于那么复杂么?
我始终觉得程序员一个开怀的心态比较好!!没有什么是固定不变的。。PHP可以增加面向对象,想JAVA学习。
JAVA也可以痛改前非,再也不是那个运行臃肿缓慢的java了。说到MVC,如果说写个HELLO WORLD。确实没必要用。但是你要和很多人配合工作的话,MVC非常有好处。其意义也在于此!!
就好比自行车很方便,但是你从客厅到卧室,没必要骑车。考虑问题,要考虑使用场景!!关于框架的话,意义类似!!主要在于方便。。当然对于那些拿性能做借口,而拒绝OOP。拒绝框架.拒绝任何开发模式的人。。我只能说,没有维护,就没有性能!!