LazyObject.php 966 B

1234567891011121314151617181920212223242526272829303132
  1. <?php
  2. /**
  3. * @package Grav\Framework\Object
  4. *
  5. * @copyright Copyright (C) 2015 - 2019 Trilby Media, LLC. All rights reserved.
  6. * @license MIT License; see LICENSE file for details.
  7. */
  8. namespace Grav\Framework\Object;
  9. use Grav\Framework\Object\Access\NestedArrayAccessTrait;
  10. use Grav\Framework\Object\Access\NestedPropertyTrait;
  11. use Grav\Framework\Object\Access\OverloadedPropertyTrait;
  12. use Grav\Framework\Object\Base\ObjectTrait;
  13. use Grav\Framework\Object\Interfaces\NestedObjectInterface;
  14. use Grav\Framework\Object\Property\LazyPropertyTrait;
  15. /**
  16. * Lazy Objects keep their data in both protected object properties and falls back to a stored array if property does
  17. * not exist or is not initialized.
  18. *
  19. * @package Grav\Framework\Object
  20. */
  21. class LazyObject implements NestedObjectInterface, \ArrayAccess
  22. {
  23. use ObjectTrait;
  24. use LazyPropertyTrait;
  25. use NestedPropertyTrait;
  26. use OverloadedPropertyTrait;
  27. use NestedArrayAccessTrait;
  28. }