Link.php 980 B

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. <?php
  2. /**
  3. * @package Grav\Common\Assets
  4. *
  5. * @copyright Copyright (c) 2015 - 2022 Trilby Media, LLC. All rights reserved.
  6. * @license MIT License; see LICENSE file for details.
  7. */
  8. namespace Grav\Common\Assets;
  9. use Grav\Common\Utils;
  10. /**
  11. * Class Link
  12. * @package Grav\Common\Assets
  13. */
  14. class Link extends BaseAsset
  15. {
  16. /**
  17. * Css constructor.
  18. * @param array $elements
  19. * @param string|null $key
  20. */
  21. public function __construct(array $elements = [], ?string $key = null)
  22. {
  23. $base_options = [
  24. 'asset_type' => 'link',
  25. ];
  26. $merged_attributes = Utils::arrayMergeRecursiveUnique($base_options, $elements);
  27. parent::__construct($merged_attributes, $key);
  28. }
  29. /**
  30. * @return string
  31. */
  32. public function render()
  33. {
  34. return '<link href="' . trim($this->asset) . $this->renderQueryString() . '"' . $this->renderAttributes() . $this->integrityHash($this->asset) . ">\n";
  35. }
  36. }