summaryrefslogtreecommitdiffstats
path: root/Mustache/Cache/AbstractCache.php
diff options
context:
space:
mode:
authorSimon Rettberg2023-10-06 18:26:22 +0200
committerSimon Rettberg2023-10-06 18:26:22 +0200
commite5be4e97ffc41ca3b0386651a626b781a3637a85 (patch)
tree20152d35607de272edae44725efba13f21da85a1 /Mustache/Cache/AbstractCache.php
parentapi: Hard-code bogus name/mail for read only (STUDENT) login (diff)
downloadbwlp-webadmin-e5be4e97ffc41ca3b0386651a626b781a3637a85.tar.gz
bwlp-webadmin-e5be4e97ffc41ca3b0386651a626b781a3637a85.tar.xz
bwlp-webadmin-e5be4e97ffc41ca3b0386651a626b781a3637a85.zip
Update for PHP 8.2
Diffstat (limited to 'Mustache/Cache/AbstractCache.php')
-rw-r--r--Mustache/Cache/AbstractCache.php60
1 files changed, 60 insertions, 0 deletions
diff --git a/Mustache/Cache/AbstractCache.php b/Mustache/Cache/AbstractCache.php
new file mode 100644
index 0000000..281038f
--- /dev/null
+++ b/Mustache/Cache/AbstractCache.php
@@ -0,0 +1,60 @@
+<?php
+
+/*
+ * This file is part of Mustache.php.
+ *
+ * (c) 2010-2017 Justin Hileman
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/**
+ * Abstract Mustache Cache class.
+ *
+ * Provides logging support to child implementations.
+ *
+ * @abstract
+ */
+abstract class Mustache_Cache_AbstractCache implements Mustache_Cache
+{
+ private $logger = null;
+
+ /**
+ * Get the current logger instance.
+ *
+ * @return Mustache_Logger|Psr\Log\LoggerInterface
+ */
+ public function getLogger()
+ {
+ return $this->logger;
+ }
+
+ /**
+ * Set a logger instance.
+ *
+ * @param Mustache_Logger|Psr\Log\LoggerInterface $logger
+ */
+ public function setLogger($logger = null)
+ {
+ if ($logger !== null && !($logger instanceof Mustache_Logger || is_a($logger, 'Psr\\Log\\LoggerInterface'))) {
+ throw new Mustache_Exception_InvalidArgumentException('Expected an instance of Mustache_Logger or Psr\\Log\\LoggerInterface.');
+ }
+
+ $this->logger = $logger;
+ }
+
+ /**
+ * Add a log record if logging is enabled.
+ *
+ * @param string $level The logging level
+ * @param string $message The log message
+ * @param array $context The log context
+ */
+ protected function log($level, $message, array $context = array())
+ {
+ if (isset($this->logger)) {
+ $this->logger->log($level, $message, $context);
+ }
+ }
+}