Heim > Artikel > Backend-Entwicklung > 请教在php mvc 中 在v层中应该怎样调取c中的方法呢
请问在php mvc 中 在v层中应该怎样调取c中的方法呢?
请问在php mvc 中 在v层中应该怎样调取c中的方法呢?数据模型m和逻辑层都已经被项目经理建成,就是不清楚如何调用,
请问应该如何调用输出方法呢?请多指导,我是刚刚参加工作不久,对mvc 不了解,谢谢各位。
------解决方案--------------------
这个问题 类似
电视机(MVC)的显示屏(V)怎么调用换台(C)操作。
------解决方案--------------------
C层解析模板 进行替换V层的变量
或者C层直接 include V层,不就可以直接调用C层的遍了么?
------解决方案--------------------
建议你还是先看看MVC的基础比较好~这样的做法是不合理的
------解决方案--------------------
有空去看看框架,比如thinkphp,zendframwork。..还有开源产品joomla ,dedecms.....
------解决方案--------------------
那要看你们公司用的是什么框架了,不同的框架调用的方法不一样。
------解决方案--------------------
V一般是展示变量和数组,很少有把逻辑写在v里面,一般都在c或者m层就处理好了,然后在c层把数据赋值到视图v上。你这样做不合理。
------解决方案--------------------
写个公共函数 哪里调都可以!!
------解决方案--------------------
在PHP CodeIgniter中,是在C里直接调用V的,跟你说的正好相反。Controller调用Model和View。
------解决方案--------------------
有些框架有固定的写法,好象Zend有这样的:
<a href="<?php%20echo%20%24this->url(array(" action>"query","controller"=>"db"));?>" >try</a> <br><font color="#e78608">------解决方案--------------------</font><br>像smarty那样 c向v注册变量 v用变量名访问<br> <br><font color="#e78608">------解决方案--------------------</font><br>这种做法是不建议的,我不知道你们是怎样实现这个分层的,<br><br>我想楼主可以去先弄清MVC三层各层的职责,在V里面调用C里面的函数或者说方法,不是一个好的做法 <br><font color="#e78608">------解决方案--------------------</font><br>路过的 <br><font color="#e78608">------解决方案--------------------</font><br>路过的jbknknk <br><font color="#e78608">------解决方案--------------------</font><br>http://wenku.baidu.com/view/a5aede00bed5b9f3f90f1cb1.html<br>你可以参考一下这篇文章 自己做一个就会明白了 <br><font color="#e78608">------解决方案--------------------</font><br>如果用的是MVC结构<br>其实V层就相当与在C层中一样<br>因为基本都是用include v层的<br>v层可以直接调用调用它的c中的方法 <br><font color="#e78608">------解决方案--------------------</font><br>都学过没有呀??大多数怎么都瞎说那? <br><font color="#e78608">------解决方案--------------------</font><br>哎~~~~~~~~~~~~~~~~~~··· <br><font color="#e78608">------解决方案--------------------</font><br>这个一般是不允许的,如果强行做,可以把 c对象本身传给v,这样就行。<br><br>$this->view->c = $this.<br><br>其他可以使用注册器,只要在注册器里注册的,都可调用。<br><br>一般, v层只显示变量。不调用其他. 公共函数也是一种方法!<br><br><br> <br><font color="#e78608">------解决方案--------------------</font><br>