我有一个相当大的网站,我正在寻找最省时的方式来管理它(我是唯一的编码员)。我正在尝试设计一个非常简单的MVC结构(我不想使用框架)来帮助保持我的所有代码井井有条。对于一个巨大的网站,是只用一个Controller来处理所有页面更好,还是将它们拆分更好更容易?如果只有一个,那么什么是非框架Controller的好例子? 最佳答案 我会将任何逻辑部分拆分到不同的Controller中-如果它都是静态页面,则使用所有相同的“静态页面”Controller来提供它。如果您有一些静态页面、常见问题解答页面(或部分)、产品列表-为每个不同的部分
我一直看到CakePHP和CodeIgniter被称为全栈MVC框架,而ZendFramework据说是非全栈。这到底是什么意思? 最佳答案 ZendFramework是一个随意使用的框架,它允许您使用它的一些组件。您甚至可以在使用某些不同框架构建的应用程序中使用其中一些组件。这样,随意使用的框架更像是一个类库。*全栈框架意味着使用它的任何部分都取决于你使用它的全部。例如,您必须使用框架的数据访问库、MVC架构、代码生成脚手架等,这些组件相互依赖,共同构成完整的框架。关于您的评论:是的,耦合是看待它的一种方式。我将其视为假设和灵ac
我从模型(一个包含数据的数组)获取数据,我需要以特定格式显示。我需要遍历数组,格式化数据然后显示它。我应该在哪里格式化数据以显示?在模型、Controller还是View中?谢谢。 最佳答案 对数组的迭代和显示数据是在View中完成的。因此,我也会在View中进行格式化。如果格式化很复杂和/或需要大量代码,请将其放在辅助函数中。例如:查看:助手:functionformat_function($text){//Dosomeformattinghere...return$formatted_text;}
因此,我一直在研究存储库模式的作用,作为一种将持久层与MVC框架中的模型分离的方法。在此之前,我可能会让我的UserModel直接调用事件记录方法以存储/检索域对象。下面是我对创建新User的请求中的调用堆栈的想法的草图:这是我的问题:这是存储库模式的正确实现吗?我知道Controller应该从请求中获取用户信息并将其传递到模型中。这通常是如何发生的?Controller是否应该创建一个用户对象,然后将其传递给模型?我确实不想只将一组值传递到模型中——我也不想将15个参数传递到创建用户的模型方法中。为了让这个模式真正起作用,在我看来我需要一个域对象,它只是一个没有行为的简单数据结构,然
长期潜伏者,第一次海报...我现在几乎可以称自己为专业级PHP程序员,并且有很多代码可以在各种项目中重复使用。此外,我使用过的许多开源包都使用MVC模型,因此我最近对它的工作原理进行了大量研究,以便我可以根据需要更好地编辑它们。此时,我正在考虑采用一个基本的MVC框架(来自教程)并根据即将进行的编程工作的需要对其进行扩展。我的问题是,在结构良好的OOP网站上,是否将几乎所有应用程序逻辑与表示层分离的MVC模型视为最佳实践,并根据需要在页面上进行编码,例如设置函数变量。或者当我想要编码灵active时,我会遇到问题吗?在我想要不同输出的图库中使用类似PHPthumb的东西不同页面上的大小
关闭。这个问题是opinion-based.它目前不接受答案。想改善这个问题吗?更新问题,以便可以通过editingthispost用事实和引文回答问题.8年前关闭。Improvethisquestion我将创建一个非常定制的新Web应用程序。它将包含完全可搜索的图像-以非常非常定制的方式。当您点击图片时,您可以添加评论等。它需要用户注册,但注册/登录过程也将高度定制。目前我正在为此使用CodeIgniter。但是我读过很多关于CMS的帖子,比如Drupal,听起来我可以让它处理基本的东西,也许是设计和其他前端工作。我没有使用CMS的经验,事实上,我刚刚开始使用像CI这样的MVC框架,
我正在努力学习并充分理解mvc模式,同时学习php。我决定构建基本的mvc框架,以便以后在各种项目中使用。在这里阅读了很多关于mvc和模型/View/Controller之间的耦合的帖子后,我有点迷路了。目前我的理解是,在Web应用程序Controller中处理来自浏览器的请求,并在必要时调用方法模型类告诉模型改变它的状态。然后Controller实例化适当的View类,负责显示界面。这是我不明白的一点......现在Controller应该将适当的模型对象传递给View,并且View应该在需要时从模型中提取所有数据吗?或者Controller应该从模型中获取数据并将其传递给View,
我是一般单元测试的新手,但想以MVC模式(使用PHP)实现它。现在我不确定如何处理这个问题。单元测试应该内置到框架中,还是我们只创建一个名为tests的新文件夹并包含所有必要的类并对每个类进行单元测试?简而言之,如果有一个模型M,它和框架本身也有一些耦合。那么为了测试模型,我应该在单元测试中包含框架的某些部分吗?是否有一些很好的代码示例可以说明如何实现这一目标。 最佳答案 Shouldunittestingbebuiltintotheframework,orwejustcreateanewfoldercalledtestsandin
现在,我正忙于优化我的应用程序,我想知道是否应该在我的MVC项目中包括现代化,因为我们在2017年,而我们的浏览器的最低版本是IE10和最新的Chrome。看答案好吧...Modernizr不做任何事情,您必须使用其功能检测来更改您的代码。...因此,如果您不打算根据提供的标志更改JS或CSS,则没有-包括它没有意义
我有这样的路线: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