【问题标题】:Where to put common logic in cakephp app在 cakephp 应用程序中放置通用逻辑的位置
【发布时间】:2018-06-21 07:32:52
【问题描述】:

这是我一直在努力解决的问题

我有一个 shell,它目前从第 3 方获取数据,对其进行处理并将处理后的数据保存到我的数据库中。处理过程也可以保存到相关表中。

我还希望通过某种方式通过 chrome 扩展提交数据,以便以相同的方式进行处理。在这两种情况下,数据都将采用相同的格式,所以我希望将我在 shell 中的逻辑移动到 shell 和控制器都可以使用的东西中。

我的部分处理涉及在某些情况下加载任何当前保存的数据 - 我发现我不能使用 loadModel 除非我在控制器中?

那么这个逻辑应该去哪里,我如何确保解决方案可以访问我仍然需要的框架的所有部分?

【问题讨论】:

  • 当您需要访问控制器外部的表对象时,您可以使用TableRegistry::get()
  • 从 3.6 开始,您似乎必须使用 getTableLocator - 但是是的,我认为这是我必须去的地方

标签: logic cakephp-3.0


【解决方案1】:

您可以在 src 下创建一个包含 php 文件的 Utility 文件夹。

在这里你可以定义你的类的命名空间并且可以很容易地实例化。

你也可以使用语句。

--src
 |--Utility
    |--Example.php 

<?php

    namespace App\Utility;

    class Example
    {

     function __construct() {
        //constructor
     }

    function demo() { 
       //function for specific task
   }

}

【讨论】:

    猜你喜欢
    • 2013-12-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-09
    • 1970-01-01
    • 2019-05-22
    • 2019-03-18
    • 1970-01-01
    • 2013-01-10
    相关资源
    最近更新 更多