2024-04-10 17:46:06 +05:45

73 lines
1.4 KiB
PHP

<?php
/**
* Helper class for interacting with the user
*/
namespace Extendify\Library;
/**
* Helper class for interacting with the user
*/
class SiteSettings
{
/**
* SiteSettings option_name - For historical reasons do not change.
*
* @var string
*/
protected $key = 'extendifysdk_sitesettings';
/**
* SiteSettings default value
*
* @var Json
*/
protected $default = '{"state":{"enabled":true}}';
/**
* The class instance.
*
* @var $instance
*/
protected static $instance = null;
/**
* Returns Setting
* Use it like Setting::data()
*
* @return mixed - Setting Data
*/
private function dataHandler()
{
return \get_option($this->key, $this->default);
}
/**
* Returns Setting Key
* Use it like Setting::key()
*
* @return string - Setting key
*/
private function keyHandler()
{
return $this->key;
}
/**
* Use it like Setting::method() e.g. Setting::data()
*
* @param string $name - The name of the method to call.
* @param array $arguments - The arguments to pass in.
*
* @return mixed
*/
public static function __callStatic($name, array $arguments)
{
$name = "{$name}Handler";
self::$instance = new static();
$r = self::$instance;
return $r->$name(...$arguments);
}
}