summaryrefslogtreecommitdiff
path: root/src/ste/StorageAccess.php
diff options
context:
space:
mode:
authorKevin Chabowski <kevin@kch42.de>2014-05-24 14:55:11 +0200
committerKevin Chabowski <kevin@kch42.de>2014-05-24 14:55:11 +0200
commitd48be01fff31a7a9d611802721aa70532d251c3a (patch)
tree53ac39214a27855a6521f91ea448e39ffcd7866b /src/ste/StorageAccess.php
parent3c51baa4167d5a68ff010dc81525b9340c5f1329 (diff)
downloadste-d48be01fff31a7a9d611802721aa70532d251c3a.tar.gz
ste-d48be01fff31a7a9d611802721aa70532d251c3a.tar.bz2
ste-d48be01fff31a7a9d611802721aa70532d251c3a.zip
Moved to src/ste for psr-4 compliance1.0.0
Diffstat (limited to 'src/ste/StorageAccess.php')
-rw-r--r--src/ste/StorageAccess.php55
1 files changed, 55 insertions, 0 deletions
diff --git a/src/ste/StorageAccess.php b/src/ste/StorageAccess.php
new file mode 100644
index 0000000..81f7439
--- /dev/null
+++ b/src/ste/StorageAccess.php
@@ -0,0 +1,55 @@
+<?php
+
+// File: StorageAccess.php
+
+// Namespace: kch42\ste
+namespace kch42\ste;
+
+/*
+ * Class: StorageAccess
+ * An interface.
+ * A StorageAccess implementation is used to access the templates from any storage.
+ * This means, that you are not limited to store the Templates inside directories, you can also use a database or something else.
+ */
+interface StorageAccess {
+ /*
+ * Constants: Template modes
+ *
+ * MODE_SOURCE - The Templates source
+ * MODE_TRANSCOMPILED - The transcompiled template
+ */
+ const MODE_SOURCE = 0;
+ const MODE_TRANSCOMPILED = 1;
+
+ /*
+ * Function: load
+ * Loading a template.
+ *
+ * Parameters:
+ * $tpl - The name of the template.
+ * &$mode - Which mode is preferred? One of the <Template modes>.
+ * If <MODE_SOURCE>, the raw sourcecode is expected, if <MODE_TRANSCOMPILED> the transcompiled template *as a callable function* (expecting an <STECore> instance as first parameter) is expected.
+ * If the transcompiled version is not available or older than the source, you can set this parameter to <MODE_SOURCE> and return the source.
+ *
+ * Throws:
+ * A <CantLoadTemplate> exception if the template could not be loaded.
+ *
+ * Returns:
+ * Either the sourcecode or a callable function (first, and only parameter: an <STECore> instance).
+ */
+ public function load($tpl, &$mode);
+
+ /*
+ * Function: save
+ * Saves a template.
+ *
+ * Throws:
+ * A <CantSaveTemplate> exception if the template could not be saved.
+ *
+ * Parameters:
+ * $tpl -The name of the template.
+ * $data - The data to be saved.
+ * $mode - A <Template mode> constant.
+ */
+ public function save($tpl, $data, $mode);
+}