AppParamsContainer.php 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. <?php
  2. namespace ModulesGarden\Servers\ProxmoxVps\Core\App;
  3. use ModulesGarden\Servers\ProxmoxVps\Core\App\Controllers\Instances\Addon\Config;
  4. use function ModulesGarden\Servers\ProxmoxVps\Core\Helper\di;
  5. use ModulesGarden\Servers\ProxmoxVps\Core\ModuleConstants;
  6. use ModulesGarden\Servers\ProxmoxVps\Core\ServiceLocator;
  7. class AppParamsContainer
  8. {
  9. /**
  10. * @var array
  11. * params container
  12. */
  13. protected $params = [];
  14. public function __construct()
  15. {
  16. $addonConfig = ServiceLocator::call(Config::class);
  17. $addonConfig->execute();
  18. $params = $addonConfig->getConfig();
  19. if (is_array($params))
  20. {
  21. $this->params = $params;
  22. }
  23. $this->params['moduleAppType'] = ModuleConstants::getModuleType();
  24. }
  25. public function getParams()
  26. {
  27. return $this->params;
  28. }
  29. public function getParam($key, $default = null)
  30. {
  31. if (isset($this->params[$key]))
  32. {
  33. return $this->params[$key];
  34. }
  35. return $default;
  36. }
  37. public function setParam($key, $value = null)
  38. {
  39. $this->params[$key] = $value;
  40. return $this;
  41. }
  42. }