diff options
author | Kevin Chabowski <kevin@kch42.de> | 2014-05-18 00:25:49 +0200 |
---|---|---|
committer | Kevin Chabowski <kevin@kch42.de> | 2014-05-18 00:25:49 +0200 |
commit | fad93506cd56b976d1413ed5adef87701df715bd (patch) | |
tree | dd4f0fca57633dcfeb66622b4c20497090bfff16 /StorageAccess.php | |
parent | a77a2ec58947f5fc7cb4023db3b8f8298e2f01f2 (diff) | |
download | ste-fad93506cd56b976d1413ed5adef87701df715bd.tar.gz ste-fad93506cd56b976d1413ed5adef87701df715bd.tar.bz2 ste-fad93506cd56b976d1413ed5adef87701df715bd.zip |
One file per class and new namespace.
We should be able to use a PSR4 autoloader (like composer's) now. ste.php
is still there as a fallback for old applications.
Diffstat (limited to 'StorageAccess.php')
-rw-r--r-- | StorageAccess.php | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/StorageAccess.php b/StorageAccess.php new file mode 100644 index 0000000..2c4ba6c --- /dev/null +++ b/StorageAccess.php @@ -0,0 +1,52 @@ +<?php + +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); +} |