1
0
mirror of https://github.com/RSS-Bridge/rss-bridge.git synced 2025-06-22 19:04:23 +02:00

refactor: use static values for cache scope

This fixes a future problem when code is placed under a namespace because `get_class($bridge)` will then return e.g. `RssBridge\Bridge\TwitterBridge` instead of the the current value `TwitterBridge`.

Also a bit refactoring of `Configuration.php`.
This commit is contained in:
Dag
2022-08-02 15:03:54 +02:00
committed by GitHub
parent a0a0d5235b
commit ecb486794b
11 changed files with 42 additions and 41 deletions

View File

@ -280,7 +280,8 @@ abstract class BridgeAbstract implements BridgeInterface
public function loadConfiguration()
{
foreach (static::CONFIGURATION as $optionName => $optionValue) {
$configurationOption = Configuration::getConfig(get_class($this), $optionName);
$section = (new ReflectionClass($this))->getShortName();
$configurationOption = Configuration::getConfig($section, $optionName);
if ($configurationOption !== null) {
$this->configuration[$optionName] = $configurationOption;
@ -408,7 +409,9 @@ abstract class BridgeAbstract implements BridgeInterface
$cacheFactory = new CacheFactory();
$cache = $cacheFactory->create();
$cache->setScope(get_called_class());
// Create class name without the namespace part
$scope = (new ReflectionClass($this))->getShortName();
$cache->setScope($scope);
$cache->setKey($key);
if ($cache->getTime() < time() - $duration) {
return null;
@ -427,7 +430,8 @@ abstract class BridgeAbstract implements BridgeInterface
$cacheFactory = new CacheFactory();
$cache = $cacheFactory->create();
$cache->setScope(get_called_class());
$scope = (new ReflectionClass($this))->getShortName();
$cache->setScope($scope);
$cache->setKey($key);
$cache->saveData($value);
}