我应该如何在 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 中组织我的文件结构以节省内存?的主要内容,如果未能解决你的问题,请参考以下文章