AbstractCollection.php 748 B

1234567891011121314151617181920212223242526272829303132333435363738394041
  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;
  9. use Grav\Common\Iterator;
  10. /**
  11. * Class AbstractCollection
  12. * @package Grav\Common\GPM
  13. */
  14. abstract class AbstractCollection extends Iterator
  15. {
  16. /**
  17. * @return string
  18. */
  19. public function toJson()
  20. {
  21. return json_encode($this->toArray(), JSON_THROW_ON_ERROR);
  22. }
  23. /**
  24. * @return array
  25. */
  26. public function toArray()
  27. {
  28. $items = [];
  29. foreach ($this->items as $name => $package) {
  30. $items[$name] = $package->toArray();
  31. }
  32. return $items;
  33. }
  34. }