Php 配置表中设置的模型

Php 配置表中设置的模型,php,oop,design-patterns,Php,Oop,Design Patterns,目前,我将一些设置存储在数据库表中。它包含两个字段(设置\u名称、设置\u值) 现在,我的所有模型都需要访问这些设置(例如,有一个设置决定一个查询最多应该返回多少条记录),但我不确定如何用良好的OO实践来实现它。是否有一种公认的/好的方法来实现这一点(这样所有模型都可以访问配置设置) 此外,我是否应该缓存这些设置(检索它们实际上只是每个页面加载一个查询),因为有些人似乎建议这样做 谢谢我通过依赖注入容器(也称为服务容器)来处理这个问题。初始化容器时,我只需执行查询,并使用所有配置设置创建关联数组

目前,我将一些设置存储在数据库表中。它包含两个字段(设置\u名称、设置\u值)

现在,我的所有模型都需要访问这些设置(例如,有一个设置决定一个查询最多应该返回多少条记录),但我不确定如何用良好的OO实践来实现它。是否有一种公认的/好的方法来实现这一点(这样所有模型都可以访问配置设置)

此外,我是否应该缓存这些设置(检索它们实际上只是每个页面加载一个查询),因为有些人似乎建议这样做


谢谢

我通过依赖注入容器(也称为服务容器)来处理这个问题。初始化容器时,我只需执行查询,并使用所有配置设置创建关联数组(实际上是ArrayObject)。然后在服务容器中将该数组注册为服务。这样,我的整个应用程序就可以轻松访问配置,如下所示:

$config = $this->container->get('configuration');
do_something($config['bar']);

我通过依赖注入容器(又称服务容器)来处理这个问题。初始化容器时,我只需执行查询,并使用所有配置设置创建关联数组(实际上是ArrayObject)。然后在服务容器中将该数组注册为服务。这样,我的整个应用程序就可以轻松访问配置,如下所示:

$config = $this->container->get('configuration');
do_something($config['bar']);

这个问题的解决方案是单例模式

您应该有一个带有静态方法的单一实例类来获取配置值:

Config::getConfigData($conf_key)
缓存:
这取决于数据库中有多少配置数据。我建议缓存这些数据,不要在每次需要值时都执行查询。

这个问题的解决方案是单例模式

您应该有一个带有静态方法的单一实例类来获取配置值:

Config::getConfigData($conf_key)
缓存:
这取决于数据库中有多少配置数据。我建议缓存这些数据,不要每次需要一个值时都执行查询。

我已经想到了一个单例数据,但当你开始谈论它时,你会得到很多负面的反应和关于为什么单例数据不好的意见。在这种情况下使用它是一件好事吗?请参阅和了解更多详细信息。我已经想到了单身汉,但一旦你开始谈论它,你就会得到很多负面反应和意见,解释为什么单身汉是不好的。在这种情况下使用它是件好事吗?有关更多详细信息,请参阅和。根据另一个线程,这样的服务容器也不好:您对此有何看法?我对所有选项感到困惑,并决定哪些选项是好的/坏的:s@Bv202当前位置你把另一个问题看错了。许多依赖注入容器兼作服务容器。一个没有DI的SC和一个单身汉一样糟糕(他们的糟糕程度众说纷纭)。作为DIC的SC并不是邪恶的,因为它暴露了它的依赖关系而不是隐藏它们。根据另一个线程,这样的服务容器也是不好的:你对此有什么看法?我对所有选项感到困惑,并决定哪些选项是好的/坏的:s@Bv202当前位置你把另一个问题看错了。许多依赖注入容器兼作服务容器。一个没有DI的SC和一个单身汉一样糟糕(他们的糟糕程度众说纷纭)。作为DIC的SC不是邪恶的,因为它暴露了它的依赖性而不是隐藏它们。