Heim  >  Artikel  >  Backend-Entwicklung  >  请教在php mvc 中 在v层中应该怎样调取c中的方法呢

请教在php mvc 中 在v层中应该怎样调取c中的方法呢

WBOY
WBOYOriginal
2016-06-13 13:35:551103Durchsuche

请问在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有这样的:
  

HTML code

<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>
探讨

我现在维护的网站是phpcms 的架构有点不太清楚,多谢个位指点。

------解决方案--------------------
多看看框架的源码,不同的框架是不同的
------解决方案--------------------
mvc中的M是Model,也就是程序功能和程序的构成方式比如数据库,V就是View图形界面,C就是Controller转发请求、处理请求。放在B/S模式里V就是浏览器呈现的东西,C就是服务器的php程序。

回到楼主的“在v层中应该怎样调取c中的方法”的问题,那就简单了,那就是使用post、get或者ajax了。
------解决方案--------------------
上面的ajax其实也就是post、get

其实也有其他方法,只要是浏览器给服务器发送参数,服务器根据发送的参数进行相应的动作就是了。
------解决方案--------------------
Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn