我应该如何在 CodeIgniter4 中组织我的文件结构以节省内存?

Posted

技术标签:

【中文标题】我应该如何在 CodeIgniter4 中组织我的文件结构以节省内存?【英文标题】:How should I organize my file structure in CodeIgniter4 to save memory? 【发布时间】:2021-12-28 15:34:37 【问题描述】:

在我的 CodeIgniter4 代码库中,我目前有一些文件已设置为库,其中包含执行广泛用途的函数,并且通常与我的数据库中的特定表相关。这些库的功能包括:

数据分析和格式化(例如,从多个模型中提取数据、执行一些计算并对其进行格式化,以便在视图中显示) 内容存储和过滤(例如,根据实体数据确定应显示的消息) 表单提交计算(可能很多,并且不想让控制器过载)

这些库可以从多个控制器甚至其他一些库中访问。问题是我不知道它们是否应该是库,或者它们是否应该被设置为其他东西。每次访问它们时我都不需要新的库实例,因为这可能会浪费内存。理想情况下,它们将被设置为模型并通过共享实例的工厂访问,但这些文件不直接管理来自应用程序的数据。

有什么建议吗?

【问题讨论】:

【参考方案1】:

您仍然可以将这些文件设置为库,然后创建一个服务,以便在您访问库的共享实例时。

Service 函数的外观如下:

public static function exampleService($getShared = true)

    if ($getShared) 
        return static::getSharedInstance('exampleService');
    

    return new ExampleLibrary();

然后这是访问库的控制器(或其他库)的构造函数:

public function __construct()

    $this->example = service('exampleService');

【讨论】:

以上是关于我应该如何在 CodeIgniter4 中组织我的文件结构以节省内存?的主要内容,如果未能解决你的问题,请参考以下文章

在数字海洋应用平台上部署 Codeigniter4 应用

如何组织 C++ 项目 [关闭]

Codeigniter 4:无法解密加密的帖子数据

Codeigniter 4 如何在视图中调用控制器方法?

如何使用codeigniter 4框架在mysql数据库中插入多行?

node.js - 我应该如何组织我的代码?我现在得到的不可靠