搜索
首页后端开发php教程 请教在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有这样的:
  

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

其实也有其他方法,只要是浏览器给服务器发送参数,服务器根据发送的参数进行相应的动作就是了。
------解决方案--------------------
声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
可以在PHP会话中存储哪些数据?可以在PHP会话中存储哪些数据?May 02, 2025 am 12:17 AM

phpsessionscanStorestrings,数字,数组和原始物。

您如何开始PHP会话?您如何开始PHP会话?May 02, 2025 am 12:16 AM

tostartaphpsession,usesesses_start()attheScript'Sbeginning.1)placeitbeforeanyOutputtosetThesessionCookie.2)useSessionsforuserDatalikeloginstatusorshoppingcarts.3)regenerateSessiveIdStopreventFentfixationAttacks.s.4)考虑使用AttActAcks.s.s.4)

什么是会话再生,如何提高安全性?什么是会话再生,如何提高安全性?May 02, 2025 am 12:15 AM

会话再生是指在用户进行敏感操作时生成新会话ID并使旧ID失效,以防会话固定攻击。实现步骤包括:1.检测敏感操作,2.生成新会话ID,3.销毁旧会话ID,4.更新用户端会话信息。

使用PHP会话时有哪些性能考虑?使用PHP会话时有哪些性能考虑?May 02, 2025 am 12:11 AM

PHP会话对应用性能有显着影响。优化方法包括:1.使用数据库存储会话数据,提升响应速度;2.减少会话数据使用,只存储必要信息;3.采用非阻塞会话处理器,提高并发能力;4.调整会话过期时间,平衡用户体验和服务器负担;5.使用持久会话,减少数据读写次数。

PHP会话与Cookie有何不同?PHP会话与Cookie有何不同?May 02, 2025 am 12:03 AM

PHPsessionsareserver-side,whilecookiesareclient-side.1)Sessionsstoredataontheserver,aremoresecure,andhandlelargerdata.2)Cookiesstoredataontheclient,arelesssecure,andlimitedinsize.Usesessionsforsensitivedataandcookiesfornon-sensitive,client-sidedata.

PHP如何识别用户的会话?PHP如何识别用户的会话?May 01, 2025 am 12:23 AM

phpientifiesauser'ssessionusessessionSessionCookiesAndSessionIds.1)whiwSession_start()被称为,phpgeneratesainiquesesesessionIdStoredInacookInAcookInamedInAcienamedphpsessidontheuser'sbrowser'sbrowser.2)thisIdAllowSphptptpptpptpptpptortoreTessessionDataAfromtheserverMtheserver。

确保PHP会议的一些最佳实践是什么?确保PHP会议的一些最佳实践是什么?May 01, 2025 am 12:22 AM

PHP会话的安全可以通过以下措施实现:1.使用session_regenerate_id()在用户登录或重要操作时重新生成会话ID。2.通过HTTPS协议加密传输会话ID。3.使用session_save_path()指定安全目录存储会话数据,并正确设置权限。

PHP会话文件默认存储在哪里?PHP会话文件默认存储在哪里?May 01, 2025 am 12:15 AM

phpsessionFilesArestoredIntheDirectorySpecifiedBysession.save_path,通常是/tmponunix-likesystemsorc:\ windows \ windows \ temponwindows.tocustomizethis:tocustomizEthis:1)useession_save_save_save_path_path()

See all articles

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热工具

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

螳螂BT

螳螂BT

Mantis是一个易于部署的基于Web的缺陷跟踪工具,用于帮助产品缺陷跟踪。它需要PHP、MySQL和一个Web服务器。请查看我们的演示和托管服务。

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

SublimeText3 Linux新版

SublimeText3 Linux新版

SublimeText3 Linux最新版

SecLists

SecLists

SecLists是最终安全测试人员的伙伴。它是一个包含各种类型列表的集合,这些列表在安全评估过程中经常使用,都在一个地方。SecLists通过方便地提供安全测试人员可能需要的所有列表,帮助提高安全测试的效率和生产力。列表类型包括用户名、密码、URL、模糊测试有效载荷、敏感数据模式、Web shell等等。测试人员只需将此存储库拉到新的测试机上,他就可以访问到所需的每种类型的列表。