SystemPresenter.php 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. <?php
  2. namespace App\Presenters;
  3. use App\Transformers\SystemTransformer;
  4. use Prettus\Repository\Presenter\FractalPresenter;
  5. use App\Repositories\SystemRepositoryEloquent;
  6. /**
  7. * Class SystemPresenter
  8. *
  9. * @package namespace App\Presenters;
  10. */
  11. class SystemPresenter extends FractalPresenter
  12. {
  13. protected $system;
  14. protected $list;
  15. public function __construct(SystemRepositoryEloquent $system)
  16. {
  17. $this->system = $system;
  18. $this->list = $this->system->optionList();
  19. parent::__construct();
  20. }
  21. /**
  22. * Transformer
  23. *
  24. * @return \League\Fractal\TransformerAbstract
  25. */
  26. public function getTransformer()
  27. {
  28. return new SystemTransformer();
  29. }
  30. /**
  31. * 根据key获取value
  32. *
  33. * @param $key
  34. * @return mixed
  35. */
  36. public function getKeyValue($key)
  37. {
  38. return isset($this->list[$key]) ? $this->list[$key] : '';
  39. }
  40. /**
  41. * 检查返回相应的value
  42. *
  43. * @param $key
  44. * @param $defaultValue
  45. * @return mixed
  46. */
  47. public function checkReturnValue($key, $defaultValue)
  48. {
  49. if ($defaultValue != "") {
  50. return $defaultValue;
  51. }
  52. return $this->getKeyValue($key);
  53. }
  54. }