AbstractPackageCollection.php 947 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. <?php
  2. /**
  3. * @package Grav\Common\GPM
  4. *
  5. * @copyright Copyright (c) 2015 - 2023 Trilby Media, LLC. All rights reserved.
  6. * @license MIT License; see LICENSE file for details.
  7. */
  8. namespace Grav\Common\GPM\Common;
  9. use Grav\Common\Iterator;
  10. /**
  11. * Class AbstractPackageCollection
  12. * @package Grav\Common\GPM\Common
  13. */
  14. abstract class AbstractPackageCollection extends Iterator
  15. {
  16. /** @var string */
  17. protected $type;
  18. /**
  19. * @return string
  20. */
  21. public function toJson()
  22. {
  23. $items = [];
  24. foreach ($this->items as $name => $package) {
  25. $items[$name] = $package->toArray();
  26. }
  27. return json_encode($items, JSON_THROW_ON_ERROR);
  28. }
  29. /**
  30. * @return array
  31. */
  32. public function toArray()
  33. {
  34. $items = [];
  35. foreach ($this->items as $name => $package) {
  36. $items[$name] = $package->toArray();
  37. }
  38. return $items;
  39. }
  40. }