几年来,我一直在为PHP开发我自己的轻量级MVC框架。我可能会在某个时候根据开源许可发布。这是我用来处理路由的方法:functionroutes($routes,$uriPath){//LoopthrougheveryrouteandcompareitwiththeURIforeach($routesas$route=>$actualPage){//Createaroutewithallidentifiersreplacedwith([^/]+)regexsyntax//E.g.$route_regex=shop-please/([^/]+)/moo(originallyshop-pl
我正在开发一个PHP应用程序作为练习,我想知道在哪里创建session会更正确。我在Controller中收到登录数据,然后我询问我的模型该用户是否存在以及密码是否匹配。这个Controller应该处理session创建吗?我只是找不到一个好的答案。 最佳答案 session处理程序可以是根据需要注入(inject)到任何Controller中的组件,也可以是应用程序范围的单例。我会在中型应用程序上采用第一种方法,并在依赖性较低的微框架中使用后者。 关于php-在MVC架构中,哪里最适合
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visitthehelpcenter指导。关闭11年前。有人知道使用MVC框架发挥其魔力的PHPCMS吗?我正在寻找可以通过使用PHP、HTML和CSS自定义网站外观的东西,同时允许在后端CMS管理员中管理页面的内容、用户和内部分类结构。最好是带有ORM的东西,但它不是100%必要的。有什么想法吗?
我有一个表单在通过AJAX提交时提交给submit_ajax方法。现在,当我收到它作为AJAX请求时,我想返回一个JSON对象。在这种情况下,我有两个选择。遵循MVC模式的正确方法是什么?选项1从Controller回显它classStackOverflowextendsCI_Controller{publicfunctionsubmit_ajax(){$response['status']=true;$response['message']='foobar';echojson_encode($response);}}选项2设置一个从Controller接收数据并回显它的View。cl
我在我的网站上有通知,类似于facebook。但我只有3种类型的通知:[昵称]给你发了一个新测验[quizname][nickname]将您添加到他的群组[groupname]。接受|拒绝您今天收到了100美元的登录信用。表格通知通知编号|类型|项目编号|来自_id|to_id|已创建|通知item_id表示quize_id或group_id。我进行额外的连接以获取所有数据。我遇到的一个问题是如何根据类型显示每个通知。一种选择是组织字符串以在Controller中显示:foreach($resultsas$key=>$result){switch($result['type']){ca
我正在编写一个不基于zf2mvc的PHP应用程序。我只想使用Zend_Dbzf2模块。我如何配置我的应用程序才能知道如何在需要的地方找到Zend_Db相关的PHP文件?我用phyrus下载了zf2Zend_db模块,并安装在vendor/zf2/php位置。我尝试使用以下命令将模块添加到包含路径:set_include_path("../vendor/zf2/php".PATH_SEPARATOR.get_include_path());我在目录Model/中创建了与每个表相关的模型类文件(使用zend-db-model-generator)。我的主要应用程序包含以下内容:useD
我构建了一个MVC应用程序,其模型层包含实体、数据映射器和服务类。到目前为止,一切都很好。但是现在我有一个Controller需要显示一个报告,其中包含来自多个数据库表的数据,与我的模型中的任何实体都没有关系。该报告是根据包含连接、SUM/AVG选择的高级MySQL查询构建的。我想要的只是一个数据数组,以便在VIEW中显示。我能否在我的服务层混合方法,一些方法返回实体(“getById()”),一些方法只返回来self的数据库查询的数据数组(“getAdvancedReport()”)?可以将数据库查询直接放在服务层吗?如果没有,他们应该去哪里?数据映射器感觉不对,因为它的工作只是将我
我也在zfforums上问过这个问题,但我可能会在这里得到回复。因此ZendFramework是一个通用的、灵活的、松耦合的、高质量的框架。但是,我发现一些MVC部分不一致且过于复杂。希望你们中的一些人可以证明一些zf设计决策的合理性并回答一些问题:一般问题/评论为什么zendmvc不遵循与其他zend组件相同的命名约定?例如,mvc使用小写字母,复数目录名称和类名称没有目录信息前缀,因此无法轻松自动加载它们。我想要添加模块根目录的选项。这样,我就不必通过添加Controller/模块目录来显式配置调度程序。我可以放入一个模块并立即访问它。为什么View助手和Action助手之间存在区
agavi框架使用PUT请求创建信息,使用POST更新信息。通常在REST中,这是相反的用法(通常指的是POST添加信息,而PUT替换整个数据记录)。如果我没理解错的话,重要的是PUT必须是幂等的,而POST没有这个要求。因此,我想知道如何创建新记录是幂等的(即多个请求不会导致多次创建记录),特别是当ORM通常使用id作为主键并且不知道新记录的id时给客户端(因为它是在数据库中自动创建的),因此不能成为请求的一部分。agavi如何针对PUT请求保持幂等性的要求。谢谢。 最佳答案 PUT可用于创建和更新完整记录。POST通常用于部分更
我目前遇到了一个我自己无法真正解决的问题:我已经开始编写一个“小型”框架(browsergame-framework),它在某种程度上遵循MVC模式。现在我有了索引、Bootstrap、数据库适配器、调度程序、包装程序,但我真的不知道“如何”链接它们。我对它们的方法等进行了编码,但我不知道如何将它们设计成像引擎一样工作。下一个问题是我的Controller,我不知道如何“链接”它们以便它们可以轻松访问整个框架....是的,这令人困惑,这就是为什么我需要你的帮助,一些“框架程序如何流动”的通用方案应该会非常好。谢谢。 最佳答案 您是本