草庐IT

敏感业务

全部标签

php - CakePHP 业务逻辑层

CakePHP似乎从来没有提到将应用程序的业务逻辑层和数据访问层分开。这是我的第一个MVC应用程序,我的“胖模型”变得非常胖,因为它们包含各种业务逻辑,其唯一真实的共同点是需要访问同一个数据库。当您听到将业务逻辑从Controller转移到模型中的建议时,以这种状态结束真的可以接受吗?CakePHP是否为单独的业务逻辑层提供任何结构作为其框架的一部分?谢谢,布莱恩 最佳答案 没有。在我看来,您遇到的是ActiveRecord模式的典型缺点。此外,CakePHP完全基于结果关联数组而不是对象实例也无济于事。我建议你看看像Doctrin

php - MVC 模式中的业务逻辑在哪里?

我使用Zend框架和Doctrine。在许多项目中,业务逻辑内置于Controller。这种方法对我来说似乎是错误的。我见过的最好的设置是使用服务层,这是编写业务逻辑的地方。我所要做的就是创建一个表单,验证它,并在服务层使用一些业务逻辑。结果验证、业务逻辑和使用一种方法(例如:newProduct($postData))。在MVC中组织业务逻辑的正确方法是什么?也许我需要阅读一些书籍,或者查看一些源代码示例。 最佳答案 我不能代表Zend框架(或您正在使用它构建的任何东西),但在MVC模式中,业务逻辑通常属于模型。您之前可能听过这样

php - 如何使用依赖注入(inject)创建业务层对象?

我的目标是尽可能让我的框架与我的应用程序分离(尽管我知道这并非完全可能)。我在我的应用程序中使用了几种不同的常见模型类型……映射器、数据对象和值对象。例如,UserMapper接受一个UserData对象并从数据库中收集信息,然后将其映射到一个UserValue对象以供在Controller中使用。这意味着这些模型具有以下依赖关系:UserMapper:需要UserData,以及构建UserValue的方法UserData:需要Db(来自框架)UserValue:什么都不需要我是否在框架的DIC方法中包含了创建Mapper对象、Data对象和Value对象的方法,以便可以自动注入(in

php - 业务逻辑应该与模型分开吗?

我们正在开发一个代码量相当大的PHP5项目,上周我开发了一个RESTfulAPI的PoC。我们将模型类与业务类分开。在尝试实现CRUD功能时,我发现,直接针对模型实现CRUD会非常简单,而针对业务逻辑实现它则不然,因为它的功能特定于当前存在的View,并且它的接口(interface)不'提供实现API所需的通用数据访问模型。考虑到这一点,我想到了以下问题:与数据交互的最佳方式是什么,同时保持模型的灵active和保持模型目前不关心的功能(比如发送邮件更改电子邮件地址时的激活链接)?之前经常使用django,其中大部分业务逻辑都在模型中实现,为什么还要将业务逻辑分开?你有任何现实生活中

php - 什么是业务规则引擎?

我被问及PHP中可用的业务规则引擎。经过研究,我发现RuleEngine是可用的,但我不确定如何使用它。谁能解释一下RuleEngine是如何工作的 最佳答案 在大多数项目中,我们都有一些业务规则会影响我们的流程和输出。在我们的项目中设计一个规则引擎来控制所有的规则是一个最佳实践。拥有规则引擎的原因:规则可能会更改多次。所以如果我们有一个规则引擎,我们只需要改变一个地方,项目中的代码不多。我们可以轻松地根据我们的规则创建许多单元测试。我们的代码将更具可读性。规则引擎将是一个与其他层分离的新层。在php中:我做了一个简单的方法来创建规

php - 处理变量中的敏感信息,使用后上传

我正在为我的银行提供的数字报表编写一个解析器并且它可以工作,但在这种情况下我想让其他人将他们的报表上传到它。脚本完成后处理可变数据的最佳方式是什么?我最初使用file($_FILES['uploadedfile']['tmp_name'])来获取文件的数据。脚本完成后,这个临时文件是否被删除?还是我自己需要这样做?对于变量,unset()是否足够,还是我必须更进一步? 最佳答案 变量存储在内存中,一旦脚本执行完毕,内存就会被释放,它们会被销毁,无法恢复。无需对它们调用unset(),因为这会在脚本终止时隐式发生。$_FILES数组中

php - 在 Drupal 模块中的何处存储敏感信息?

在我创建的模块中,我有一些需要安全存储的敏感信息:远程数据库主机、用户名和密码。似乎唯一可用的存储是在Drupal数据库中,这让我很担心,因为这意味着如果Drupal受到威胁,其他数据库也会受到威胁。sites/all/default中的settings.php文件是我的第二个选择,但我无法写入它。FTP和SSH中针对777和666的各种chmod命令不会打开文件进行写入。我也不确定我在那里设置的变量是否在其他地方可用。有没有其他方法可以安全地存储这些信息? 最佳答案 您使用settings.php的方法是正确的。你可以usethe

php - MVC - 业务模型可以相互了解吗?

简单的问题:在MVC中,一个模型可以与另一个模型交互吗?例如,使用Auth模型...它可以与User模型交互吗?还是有更好的方法来解决这个问题?中间人应该是控制者吗? 最佳答案 不同的模型类交互就好了。大多数复杂对象并不是完全独立的。与任何好的OO代码一样,这些类应该使用公共(public)方法并且不将它们的实现公开给彼此,但除此之外,一切都很好。 关于php-MVC-业务模型可以相互了解吗?,我们在StackOverflow上找到一个类似的问题: https

PHP 在比较数组值时忽略大小写敏感

我必须修改我正在使用array_diff($array1,$array2)方法的应用程序中的一些代码。我遇到的问题是它区分大小写,如果数组值匹配,即使大小写不同,我也需要让它返回正确的值。我不想将大小写更改为小写,因为我需要返回的值来保持其大小写。作为执行此操作的最佳方法,我有点困惑。 最佳答案 您需要:array_udiff和strcasecmp$result=array_udiff($arr1,$arr2,'strcasecmp');例如$result应该回显array() 关于PH

php - 对不同(但相似)的业务程序使用不同的表是一种好习惯吗?

有一个非常相似的问题:Modelingproductswithvastlydifferentsetsofneeded-to-knowinformationandlinkingthemtolineitems?但是我找不到对我有帮助的答案;上述问答中有人指向designingdatabasetoholddifferentmetadatainformation,它有一个很好的公认答案,但由于我的程序明确需要搜索功能,我不希望性能受到影响。我是一名“技术员”,使用PHP+Oracle来跟踪我们公司的销售进度并生成报告。我们的工作流程通常如下所示:营销人员为我的系统提供准备好的数据集;一线员工(