You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

AbstractBusiness.php 1.1KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. <?php
  2. /**
  3. * Created by PhpStorm.
  4. * User: adrien.gandarias
  5. * Date: 08/04/2015
  6. * Time: 10:01
  7. */
  8. namespace App\Http\Business;
  9. class AbstractBusiness {
  10. /**
  11. * @var array
  12. */
  13. private $parameters = [];
  14. /**
  15. * @param array $parametersSource
  16. */
  17. public function __construct(array $parametersSource)
  18. {
  19. $this->parameters = $parametersSource;
  20. }
  21. /**
  22. * @param string $name
  23. * @param mixed $default
  24. * @return mixed
  25. */
  26. protected function getParam($name, $default = null)
  27. {
  28. return array_key_exists($name, $this->parameters) ? $this->parameters[$name] : $default;
  29. }
  30. /**
  31. * @param string $name
  32. * @param mixed $value
  33. */
  34. public function setParam($name, $value)
  35. {
  36. $this->parameters[$name] = $value;
  37. }
  38. /**
  39. * @param string[] $params
  40. * @return bool
  41. */
  42. public function hasParam(array $params)
  43. {
  44. foreach ($params as $p)
  45. {
  46. if (!array_key_exists($p, $this->parameters))
  47. return false;
  48. }
  49. return true;
  50. }
  51. }