草庐IT

PHP MVC : use router inside controller?

我正在构建自己的MVC框架(以改进我的PHP),但我不知道如何处理好的做法。在我的路由器中,我有一个使用路由名称和参数创建链接的方法(该方法返回格式正确的url),因此在我的Controller中,我可以使用如下内容://insideanactionofanyofmycontrollers$router=Router::getInstance();//therouterisaSingleton$url=$router->createUrl('articleReadOne',array(65,'matrix'));//$url="article/read/65-matrix"$this-

PHP MVC 在发布时添加到数组

我有下面的代码,每当我发布一个值时,它都不会将它添加到数组中。这就像它创建了一个只有我发布的值的新数组。task=array();}}classController{public$model;publicfunction__construct(Model$model){$this->model=$model;}publicfunctionaddTask($taskToAdd){array_push($this->model->task,$taskToAdd);}}classView{public$model;public$controller;publicfunction__const

php - MVC - 它在现实世界中是如何工作的?

关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题?更新问题,以便editingthispost可以用事实和引用来回答它.关闭5年前。Improvethisquestion我已经阅读了很多关于计算器和温度计的简单MVC示例,但我似乎无法将这种模式映射到现实世界的应用程序中。假设您有一个更复杂的场景。假设您有一个网站购物车,要求用户在添加到购物车之前先登录。首先,用户看到产品页面(/product/detail)并单击添加项目(/cart/add/207366)。用户尚未登录,因此他们需要访问登录页面(/user/login),然后根据流程智能将他们带到购物车

php - 在 MVC 框架中从哪里发送邮件,这样就没有重复代码?

这是一个MVC问题。这是情况:我正在编写一个有“组”的应用程序。您可以通过输入他们的电子邮件并点击“邀请”来邀请其他人加入您的群组。可以通过两种方式调用此功能:a)网络界面和b)API邮件发送结束后,我想向用户报告哪些邮件发送成功(即SMTP发送是否成功。目前,我不对报告邮件退回感兴趣)。所以,我在想应该怎么设计才不会出现代码重复。也就是说,API和Web界面应该共享大部分代码。为此,我可以在模型“group”中创建方法“invite”。因此,API和Web界面可以调用:群组->邀请($emailList);此方法可以发送电子邮件。但问题是,我必须访问邮件模板,为邮件创建View,然后

php - 在 MVC 中处理片段和 View

如果我的网站上有一个页面,我必须在其中显示4或5个片段(新闻提要、事件提要等),所有这些都与不同的数据(在不同的模型和数据库表中)有关,那么明智的方法是处理片段内容和布局的生成?我可以使用包含静态函数的单个代码片段Controller,每个函数返回一个填充有相关数据的View。但是这个片段Controller中的每个函数都将与不同的数据/模型进行交互,所以我不确定这是多么面向对象。或者,我可以向每个处理每个关联数据集的Controller添加一个静态函数——例如,在News_Controller中,以及显示所有新闻项目、单个新闻项目等的函数,我可以添加一个静态函数通过简单地返回我需要的

php - 这个 MVC Controller 代码是否需要重构?

我正在为MVC应用程序(Kohana/PHP)编写一个CSV/Excel-->MySQL导入管理器。我有一个名为“ImportManager”的Controller,它有一个名为“index”(默认)的Action,它在网格中显示所有有效的.csv和.xls位于特定目录中并准备好导入的文件。然后用户可以选择他想要导入的文件。但是,由于.csv文件导入到一个数据库表和.xls文件导入到多个数据库表,我需要处理这个抽象。因此,我创建了一个名为SmartImportFile的helper类,我将每个文件发送到该类,.csv或.xls并且然后我得到然后要求这个“智能”对象将该文件中的工作表(是

php - MVC 模型关系 : how to avoid multiple instances of models?

我正在尝试使用ZendFramework创建一个MVC应用程序来管理运动队和运动员。一个团队有一个球员列表,每个球员只属于一个团队。我遇到的问题是实例化多个单独的玩家。在我实例化单个球员的那一刻,即使我之前实例化了属于同一球队的球员,也总是会创建一个新的球队对象。我怎样才能避免代表同一个团队的不必要的多个实例?是否有一些设计模式或技术可以在这里使用? 最佳答案 可能最常用的模式是IdentityMap. 关于php-MVC模型关系:howtoavoidmultipleinstanceso

php - 关于 MVC 中 header 的问题

在MVC框架中,负责定义header的是Controller还是View?想象一下下载文件的情况,会呈现内容,所以我想Controller会设置适当的标题进行下载,对吗?另一点是我对mime有疑问......默认情况下我们使用text/html;charset=UTF-8,另一种是设置要下载的文件的mime类型,这样正确吗? 最佳答案 所有的呈现逻辑都由View实例负责。即使您使用MVP模式,这也适用,其中View是被动实体View(“被动”并不意味着“愚蠢”或“只是模板”)。Controller应该只负责改变模型层和当前View的

php - 在 PHP mvc 中路由 url 的最有效方法?

我正在开发一个简单phpmvc,它将做最少的事情,但也可以按照我的需要工作,这是我第一次使用mvc方法而不是过程,所以我正在学习去..在开发过程中,我不小心以一种奇怪的风格创建了它,目前主要的.htaccess包含几乎所有的物理重写,例如论坛是:RewriteRule^forum/([a-zA-Z0-9_]+)_([0-9]+)/$index.php?controller=forum&method=showThread&urlTitle=$1&threadId=$2[L]RewriteRule^forum/([a-zA-Z0-9_]+)_([0-9]+)/all/([0-9]+)$in

php - 您应该在 Controller 中还是在 MVC 框架的模型中处理 session 数据?

我正在使用MVC框架(特别是PHP的CodeIgniter)。我试图尽可能地遵循“最佳实践”,但我对MVC没有太多经验。从Controller内的session中检索数据对我来说是不好的做法吗?我应该“询问”模型,比如说,特定的session值是“foo”还是“bar”,或者我应该直接在Controller内部这样做吗?我认为我应该在模型内部执行此操作,因为session数据在技术上是数据,但我只是想确定一下。明确地说,我根本没有将session数据存储在数据库中,所以我没有运行查询。 最佳答案 模型通常处理持久保存到某种长期存储的