ConfigTrait.php 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. <?php
  2. namespace ModulesGarden\Servers\KerioEmail\App\Traits;
  3. /**
  4. *
  5. * Created by PhpStorm.
  6. * User: Tomasz Bielecki ( tomasz.bi@modulesgarden.com )
  7. * Date: 11.09.19
  8. * Time: 14:24
  9. * Class ConfigTrait
  10. */
  11. trait ConfigTrait
  12. {
  13. /**
  14. * @var array
  15. */
  16. private $config = [];
  17. /**
  18. * @description set configuration value
  19. * @param $name
  20. * @param null $value
  21. * @return mixed
  22. */
  23. public function set($name, $value = null)
  24. {
  25. $this->config[$name] = $value;
  26. return $this;
  27. }
  28. /**
  29. * @description get configuration value
  30. * @param $name
  31. * @param null $default
  32. * @return mixed
  33. */
  34. public function get($name, $default = null)
  35. {
  36. return isset($this->config[$name]) ? $this->config[$name] : $default;
  37. }
  38. /**
  39. * @description update value
  40. * @param $name
  41. * @param null $value
  42. * @return mixed
  43. */
  44. public function update($name, $value = null)
  45. {
  46. $this->config[$name] = $value;
  47. return $this;
  48. }
  49. /**
  50. * @description remove parameter
  51. * @param $name
  52. * @return mixed
  53. */
  54. public function remove($name)
  55. {
  56. unset($this->config[$name]);
  57. return $this;
  58. }
  59. /**
  60. * @description check if configuration exists
  61. * @param $name
  62. * @return bool
  63. */
  64. public function exists($name)
  65. {
  66. return isset($this->config[$name]) ? true : false;
  67. }
  68. }