ProcessorBase.php 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. <?php
  2. /**
  3. * @package Grav\Common\Processors
  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\Processors;
  9. use Grav\Common\Debugger;
  10. use Grav\Common\Grav;
  11. /**
  12. * Class ProcessorBase
  13. * @package Grav\Common\Processors
  14. */
  15. abstract class ProcessorBase implements ProcessorInterface
  16. {
  17. /** @var Grav */
  18. protected $container;
  19. /** @var string */
  20. public $id = 'processorbase';
  21. /** @var string */
  22. public $title = 'ProcessorBase';
  23. /**
  24. * ProcessorBase constructor.
  25. * @param Grav $container
  26. */
  27. public function __construct(Grav $container)
  28. {
  29. $this->container = $container;
  30. }
  31. /**
  32. * @param string|null $id
  33. * @param string|null $title
  34. */
  35. protected function startTimer($id = null, $title = null): void
  36. {
  37. /** @var Debugger $debugger */
  38. $debugger = $this->container['debugger'];
  39. $debugger->startTimer($id ?? $this->id, $title ?? $this->title);
  40. }
  41. /**
  42. * @param string|null $id
  43. */
  44. protected function stopTimer($id = null): void
  45. {
  46. /** @var Debugger $debugger */
  47. $debugger = $this->container['debugger'];
  48. $debugger->stopTimer($id ?? $this->id);
  49. }
  50. /**
  51. * @param string $message
  52. * @param string $label
  53. * @param bool $isString
  54. */
  55. protected function addMessage($message, $label = 'info', $isString = true): void
  56. {
  57. /** @var Debugger $debugger */
  58. $debugger = $this->container['debugger'];
  59. $debugger->addMessage($message, $label, $isString);
  60. }
  61. }