想知道您是否可以向我展示一种处理此逻辑的更好方法?我写了这篇文章,对此感到非常羞愧。你能告诉我这个逻辑的更好优化版本吗?P.S$result["item"];返回一个整数。$type=$result["item"];switch($type){case"1":$type_output='CashChequeDebitCardCreditCard';break;case"2":$type_output='CashChequeDebitCardCreditCard';break;case"3":$type_output='CashChequeDebitCardCreditCard';bre
我使用Zend框架和Doctrine。在许多项目中,业务逻辑内置于Controller。这种方法对我来说似乎是错误的。我见过的最好的设置是使用服务层,这是编写业务逻辑的地方。我所要做的就是创建一个表单,验证它,并在服务层使用一些业务逻辑。结果验证、业务逻辑和使用一种方法(例如:newProduct($postData))。在MVC中组织业务逻辑的正确方法是什么?也许我需要阅读一些书籍,或者查看一些源代码示例。 最佳答案 我不能代表Zend框架(或您正在使用它构建的任何东西),但在MVC模式中,业务逻辑通常属于模型。您之前可能听过这样
在编写PHP代码时,我决定从意大利式代码转向尝试实现MVC。为了实现MVC框架,我发泄到thisarticle文章开了个好头,我设法创建了我的网站,并开发了前端。现在,我正在尝试使用session和其他成员(member)区功能来实现后端。我的大脑因新信息而沸腾,我的问题多于答案。我不知道如何实现额外的类,例如user类。例如,如果没有MVC,我可以在我的includes目录中创建新的user.php类文件,然后包含它,实例化它,并为对象分配适当的值并将objest放入session中。我想寻求专家建议。我对很多事情感到困惑:我在哪里添加用户类如何向我的MVC添加和包含用户类我如何在我
我正在编写一个翻译器API,它会根据请求的服务调用各种其他API来执行翻译。我想我应该把它放到一个Controller中,但是如果我需要从另一个Controller或View中访问翻译器类怎么办?我应该把它的一部分放到模型中吗?为了速度,如果是内部请求,我不想像使用Request::create()调用外部URL那样调用服务。像这样的东西在View中有效,但我觉得应该有一种更优雅的方式来做到这一点。{{App::make('TranslatorController')->show($text,$to,App::getLocale());}} 最佳答案
我有一个事件预订系统,它显示了测试系统的可用时段,我真的被某些逻辑困住了。event_information(A)存储有关事件的详细信息event_machine_time(B)存储测试笔记本电脑事件时间,因为机器只允许在每天的特定时间使用**********************************************id*machine_name*start_time*end_time***********************************************1*LPN832*09:30:00*11:00:00**2*LPN832*11:30:00*13
我想使用服务层。但有一些问题。我将提供示例并进行讨论。假设在Controller存储功能中,我编写了错误的代码,例如我在那里进行了验证,我在那里也有模型,为该模型提供用户输入的属性并存储它。基本上我把所有东西都放在一个Controller里,这导致了胖Controller。现在,我们可以做两件事来解决这个问题。1)将验证逻辑移动到验证类(简单),然后我们创建新的模型实例并为其设置属性并将其存储在数据库中(该逻辑现在在Controller中,但我们将其带到模型中)。这样每当我们需要在另一个地方使用相同的东西时,我们就可以调用这个模型的函数。如果我们没有这样做,我们会一遍又一遍地重复这个逻
我最近发现,我正在跨应用程序的多个层进行编码以实现一些非常简单的事情。例如$domain=newApplication_Model_Domain();$table=$domain->getMapper()->getDbTable();$row=$table->find($id)->current();$row->delete();这一切都可以在我的服务层的delete()方法中轻松完成。但是,我一直在将此功能转移到模型映射器中:#servicelayer$domain=newApplication_Model_Domain();$domain->getMapper()->delete(
我们正在开发一个代码量相当大的PHP5项目,上周我开发了一个RESTfulAPI的PoC。我们将模型类与业务类分开。在尝试实现CRUD功能时,我发现,直接针对模型实现CRUD会非常简单,而针对业务逻辑实现它则不然,因为它的功能特定于当前存在的View,并且它的接口(interface)不'提供实现API所需的通用数据访问模型。考虑到这一点,我想到了以下问题:与数据交互的最佳方式是什么,同时保持模型的灵active和保持模型目前不关心的功能(比如发送邮件更改电子邮件地址时的激活链接)?之前经常使用django,其中大部分业务逻辑都在模型中实现,为什么还要将业务逻辑分开?你有任何现实生活中
我是PHP新手,想知道为什么这段代码没有向数据库插入任何内容(返回0)。我确定这一定是一个逻辑错误,因为我没有收到任何错误消息。classDbConnection{protected$db_conn;public$db_host="localhost";public$db_name="todo";public$db_user="root";public$db_pass="";functionconnect(){try{$this->db_conn=newPDO("mysql:host=$this->db_host;dbname=$this->db_name",$this->db_use
我有一个这样的条件语句:if($_POST['password']==$_POST['repeat']&&$_SESSION['type']=="admin")但是假设我还希望条件对类型为“super用户”(而不是“管理员”)的用户评估为真。例如,我可以这样写:if($_POST['password']==$_POST['repeat']&&$_SESSION['type']=="admin"||$_SESSION['type']=="super用户")但是假设PHP从左到右读取条件和方程式,那么即使“密码”和“重复”不相等,“super用户”也有可能使条件计算为真,因为我们放置了虚数