草庐IT

php - MVC : Where should I format data?

我从模型(一个包含数据的数组)获取数据,我需要以特定格式显示。我需要遍历数组,格式化数据然后显示它。我应该在哪里格式化数据以显示?在模型、Controller还是View中?谢谢。 最佳答案 对数组的迭代和显示数据是在View中完成的。因此,我也会在View中进行格式化。如果格式化很复杂和/或需要大量代码,请将其放在辅助函数中。例如:查看:助手:functionformat_function($text){//Dosomeformattinghere...return$formatted_text;}

php - MVC 和存储库模式 : Roles of Controllers, 模型和存储库?

因此,我一直在研究存储库模式的作用,作为一种将持久层与MVC框架中的模型分离的方法。在此之前,我可能会让我的UserModel直接调用事件记录方法以存储/检索域对象。下面是我对创建新User的请求中的调用堆栈的想法的草图:这是我的问题:这是存储库模式的正确实现吗?我知道Controller应该从请求中获取用户信息并将其传递到模型中。这通常是如何发生的?Controller是否应该创建一个用户对象,然后将其传递给模型?我确实不想只将一组值传递到模型中——我也不想将15个参数传递到创建用户的模型方法中。为了让这个模式真正起作用,在我看来我需要一个域对象,它只是一个没有行为的简单数据结构,然

php - MVC 作为专业级编程的最佳实践?

长期潜伏者,第一次海报...我现在几乎可以称自己为专业级PHP程序员,并且有很多代码可以在各种项目中重复使用。此外,我使用过的许多开源包都使用MVC模型,因此我最近对它的工作原理进行了大量研究,以便我可以根据需要更好地编辑它们。此时,我正在考虑采用一个基本的MVC框架(来自教程)并根据即将进行的编程工作的需要对其进行扩展。我的问题是,在结构良好的OOP网站上,是否将几乎所有应用程序逻辑与表示层分离的MVC模型视为最佳实践,并根据需要在页面上进行编码,例如设置函数变量。或者当我想要编码灵active时,我会遇到问题吗?在我想要不同输出的图库中使用类似PHPthumb的东西不同页面上的大小

php - drupal (CMS) 或 codeigniter (MVC) 用于创建新的 Web 应用程序?

关闭。这个问题是opinion-based.它目前不接受答案。想改善这个问题吗?更新问题,以便可以通过editingthispost用事实和引文回答问题.8年前关闭。Improvethisquestion我将创建一个非常定制的新Web应用程序。它将包含完全可搜索的图像-以非常非常定制的方式。当您点击图片时,您可以添加评论等。它需要用户注册,但注册/登录过程也将高度定制。目前我正在为此使用CodeIgniter。但是我读过很多关于CMS的帖子,比如Drupal,听起来我可以让它处理基本的东西,也许是设计和其他前端工作。我没有使用CMS的经验,事实上,我刚刚开始使用像CI这样的MVC框架,

php - 关于 mvc 的一般...... Controller 应该将数据传递给 View 还是 View 应该直接从模型中获取它?

我正在努力学习并充分理解mvc模式,同时学习php。我决定构建基本的mvc框架,以便以后在各种项目中使用。在这里阅读了很多关于mvc和模型/View/Controller之间的耦合的帖子后,我有点迷路了。目前我的理解是,在Web应用程序Controller中处理来自浏览器的请求,并在必要时调用方法模型类告诉模型改变它的状态。然后Controller实例化适当的View类,负责显示界面。这是我不明白的一点......现在Controller应该将适当的模型对象传递给View,并且View应该在需要时从模型中提取所有数据吗?或者Controller应该从模型中获取数据并将其传递给View,

php - 如何对 MVC 类进行单元测试?

我是一般单元测试的新手,但想以MVC模式(使用PHP)实现它。现在我不确定如何处理这个问题。单元测试应该内置到框架中,还是我们只创建一个名为tests的新文件夹并包含所有必要的类并对每个类进行单元测试?简而言之,如果有一个模型M,它和框架本身也有一些耦合。那么为了测试模型,我应该在单元测试中包含框架的某些部分吗?是否有一些很好的代码示例可以说明如何实现这一目标。 最佳答案 Shouldunittestingbebuiltintotheframework,orwejustcreateanewfoldercalledtestsandin

我应该在我的MVC项目中加入现代化

现在,我正忙于优化我的应用程序,我想知道是否应该在我的MVC项目中包括现代化,因为我们在2017年,而我们的浏览器的最低版本是IE10和最新的Chrome。看答案好吧...Modernizr不做任何事情,您必须使用其功能检测来更改您的代码。...因此,如果您不打算根据提供的标志更改JS或CSS,则没有-包括它没有意义

MVC中具有默认值的可选路由数据

我有这样的路线:app.UseMvc(routes=>{routes.MapRoute(name:"default",template:"{culture=en-US}/{controller=Home}/{action=Index}/{p1?}/{p2?}");});最后两个项目是可选的,实际上它们在大多数页面中都不存在,并且是针对特定页面(我也希望它是着陆页),但是它不允许定义可选参数的值。我试过了{p1?=somevalue}我有一个错误告诉我?必须是最后一个角色。{p1=somevalue?}也不起作用。看答案尝试创建两个路线1ºapp.UseMvc(routes=>{routes.M

jQuery Post和.NET MVC操作 - 将部分结果返回给最终用户

关于一个我以前从未有机会遇到的概念,我有一个疑问,但是我已经考虑了很长时间了,我想看看它在使用jQuery的.NETMVC5中可行...因此,假设我们在控制器中采取了一个措施,看起来像这样:[ActionName("OurTestAction")][HttpPost]publicActionResultOurTestAction(){Method1();//returningsomesortof"signal"heretoclientsidetonotifythatthemethod1finishedprocessingdata..?Method2();Method3();returnJson

Taurus .Net Core 微服务开源框架:Admin 插件【4-5】 - 配置管理-Mvc【Plugin-Admin 后台】

前言:继上篇:Taurus.NetCore微服务开源框架:Admin插件【4-4】-配置管理-Mvc【Plugin-CORS跨域】本篇继续介绍下一个内容:系统配置节点:Mvc- Plugin- Admin 后台界面:配置界面如下: 配置说明如下:1、Admin.IsEnable:配置当前后台插件是否可用这是个很危险的开关:如果设置为false,则需要重启应用后,才能重新进入后台。如果设置还同时勾选了持久化,则重启也进不了后台。因此,需要知道持久化的目录:默认在/App_Data/admin/config.ini 中,以json 格式存档,大至如下:{"Limit.Rate.IsEnable":