]> git.mxchange.org Git - friendica.git/commitdiff
Add IStorage interface
authorfabrixxm <fabrix.xm@gmail.com>
Wed, 21 Nov 2018 08:36:31 +0000 (09:36 +0100)
committerHypolite Petovan <hypolite@mrpetovan.com>
Mon, 21 Jan 2019 13:57:29 +0000 (08:57 -0500)
storage classes should implement this interface

src/Model/Storage/IStorage.php [new file with mode: 0644]
src/Model/Storage/SystemResource.php

diff --git a/src/Model/Storage/IStorage.php b/src/Model/Storage/IStorage.php
new file mode 100644 (file)
index 0000000..d9d2ddf
--- /dev/null
@@ -0,0 +1,35 @@
+<?php
+/**
+ * @file src/Model/Storage/IStorage.php
+ * @brief Storage backend system
+ */
+
+namespace Friendica\Model\Storage;
+
+/**
+ * @brief Interface for storage backends
+ */
+interface IStorage
+{
+       /**
+        * @brief Get data from backend
+        * @param string  $ref  Data reference
+        * @return string
+     */
+       public static function get($ref);
+
+       /**
+        * @brief Put data in backend as $ref. If $ref is null a new reference is created.
+        * @param string  $data  Data to save
+        * @param string  $ref   Data referece. Optional.
+        * @return string Saved data referece
+        */
+       public static function put($data, $ref = null);
+
+       /**
+        * @brief Remove data from backend
+        * @param string  $ref  Data referece
+        * @return boolean  True on success
+        */
+       public static function delete($ref);
+}
\ No newline at end of file
index 203e9a2892125a1ecbf21009fec326982283d00b..822ff1cb9ec373977a546a4a8a5f2bd168e73989 100644 (file)
@@ -1,6 +1,7 @@
 <?php
 /**
  * @file src/Model/Storage/SystemStorage.php
+ * @brief Storage backend system
  */
 
 namespace Friendica\Model\Storage;
@@ -11,19 +12,12 @@ namespace Friendica\Model\Storage;
  * This class is used to load system resources, like images.
  * Is not itended to be selectable by admins as default storage class.
  */
-class SystemResource
+class SystemResource implements IStorage
 {
        // Valid folders to look for resources
        const VALID_FOLDERS = [ "images" ];
 
-       /**
-        * @brief get data
-        *
-        * @param string  $resourceid
-        *
-        * @return string
-        */
-       static function get($filename)
+       public static function get($filename)
        {
                $folder = dirname($filename);
                if (!in_array($folder, self::VALID_FOLDERS)) return "";
@@ -31,9 +25,16 @@ class SystemResource
                return file_get_contents($filename);
        }
 
-       static function put($filename, $data)
+
+       public static function put($data, $filename=null)
+       {
+               throw new \BadMethodCallException();
+       }
+
+       public static function delete($filename)
        {
                throw new \BadMethodCallException();
        }
+
 }