diff options
| author | George Halkiadakis <gchalkiadakis@sklavenitis.co.gr> | 2023-04-27 03:47:30 +0300 |
|---|---|---|
| committer | George Halkiadakis <gchalkiadakis@sklavenitis.co.gr> | 2023-04-27 03:47:30 +0300 |
| commit | 059e0d95d0c28bc5060e87e146eaf7411f51bf90 (patch) | |
| tree | 7c21ac432f16dde2329a0d5954d70711eceb48e6 /core/classes/Repository.php | |
| parent | 26cd8ee99659ef1926c96a049c93645ffc9b169d (diff) | |
| download | gyraf1gov-059e0d95d0c28bc5060e87e146eaf7411f51bf90.tar.gz gyraf1gov-059e0d95d0c28bc5060e87e146eaf7411f51bf90.tar.bz2 gyraf1gov-059e0d95d0c28bc5060e87e146eaf7411f51bf90.zip | |
skeleton commit; based on an anom project
Diffstat (limited to 'core/classes/Repository.php')
| -rw-r--r-- | core/classes/Repository.php | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/core/classes/Repository.php b/core/classes/Repository.php new file mode 100644 index 0000000..c01d0c1 --- /dev/null +++ b/core/classes/Repository.php @@ -0,0 +1,43 @@ +<?php + +/** Repository + * is an abstract class that strores entities + * and serves them via ::pull() method when needed + * + * it also has an ::echo() method to list the + */ +abstract class Repository +{ + + /** all repositories (need to) have + * one public static array named '$repository' + */ + public static $repository = []; + + /** pull + * one entity from repository + * @param $entity (string): the label of the entity + */ + public static function pull($entity) + { + if (array_key_exists($entity, static::$repository)) { + + return static::$repository[$entity]; + + } else die('repository does not exist'); + + } + + + /** echo + * lists the entities of the repository; + * by default it only lists the labes of the entities; + * @param $content (bool): if true serve contents along with the labels + * @return (array) + */ + public static function echo($content =false) + { + if ($content) return static::$repository; + else return array_keys(static::$repository); + } +}
\ No newline at end of file |
