summaryrefslogtreecommitdiffstats
path: root/Mustache/Source.php
diff options
context:
space:
mode:
Diffstat (limited to 'Mustache/Source.php')
-rw-r--r--Mustache/Source.php40
1 files changed, 40 insertions, 0 deletions
diff --git a/Mustache/Source.php b/Mustache/Source.php
new file mode 100644
index 00000000..278c2cb3
--- /dev/null
+++ b/Mustache/Source.php
@@ -0,0 +1,40 @@
+<?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.
+ */
+
+/**
+ * Mustache template Source interface.
+ */
+interface Mustache_Source
+{
+ /**
+ * Get the Source key (used to generate the compiled class name).
+ *
+ * This must return a distinct key for each template source. For example, an
+ * MD5 hash of the template contents would probably do the trick. The
+ * ProductionFilesystemLoader uses mtime and file path. If your production
+ * source directory is under version control, you could use the current Git
+ * rev and the file path...
+ *
+ * @throws RuntimeException when a source file cannot be read
+ *
+ * @return string
+ */
+ public function getKey();
+
+ /**
+ * Get the template Source.
+ *
+ * @throws RuntimeException when a source file cannot be read
+ *
+ * @return string
+ */
+ public function getSource();
+}