SiteSettingRepository
in package
implements
SiteSettingRepositoryInterface
Class SiteSettingRepository.
Table of Contents
Interfaces
- SiteSettingRepositoryInterface
- Interface SiteSetting.
Properties
- $cachedValueBag : array<string, mixed>
- Keep associate `key`=> `id`.
Methods
- __construct() : mixed
- bootingKernelConfigs() : void
- Update laravel config() when booting.
- createSetting() : bool
- destroy() : bool
- Remove settings from core_site_settings by `module_id` and `name`.
- get() : mixed|null
- Get user actual value for specific setting key.
- getPrivateEnvironments() : array<string|int, mixed>
- Export private settings to build frontend.
- getSiteSettings() : array<string, array<string, mixed>>
- has() : bool
- Check a settings is exists.
- keys() : array<string|int, mixed>
- This method is used to generate ide:fix.
- loadConfigValues() : array<string|int, mixed>
- mockValues() : mixed
- refresh() : void
- This method should be call when you want to refresh cached data after saving new values.
- reset() : bool
- Reset core_site_settings to value_default by specific $module and name list.
- save() : array<string, mixed>
- Save user actual values, only existed name in database can be update.
- saveAndCollectPrivateSettings() : array<string, mixed>
- Save setting values and collect all private settings by $privateSettings reference.
- setupPackageSettings() : array<string, mixed>
- Create/Update core_site_setting by `name`, and `value_default`.
- updatedAt() : string
- Last updated time. this is alias to `get('core.setting_updated_at')`.
- updateSetting() : bool
- versionId() : int
- Whenever admin updated revision, we must increment versionId This value is used to publish cache and purge caching data cross multiple distribute server.
- actualValue() : mixed
- getArrayNestedKeys() : void
- Calculate dotted key of array which value is array.
- getByName() : SiteSetting|null
- getValueFromDatabase() : mixed
- initialize() : void
- loadCachedValueBag() : void
- loadFromDriver() : void
Properties
$cachedValueBag
Keep associate `key`=> `id`.
protected
array<string, mixed>
$cachedValueBag
= []
Tags
Methods
__construct()
public
__construct() : mixed
bootingKernelConfigs()
Update laravel config() when booting.
public
bootingKernelConfigs() : void
createSetting()
public
createSetting(string $module, string $name, string|null $configName, string|null $envVar, mixed $value, string $type, bool $public, bool $auto) : bool
Parameters
- $module : string
- $name : string
- $configName : string|null
- $envVar : string|null
- $value : mixed
- $type : string
- $public : bool
- $auto : bool
Return values
booldestroy()
Remove settings from core_site_settings by `module_id` and `name`.
public
destroy(string $module[, array<string|int, mixed>|null $names = null ]) : bool
If names
is null, remove all by module_id
.
Parameters
- $module : string
- $names : array<string|int, mixed>|null = null
Return values
boolget()
Get user actual value for specific setting key.
public
get(string $key[, mixed $default = null ]) : mixed|null
If value_actual is not exists, it use alternate value_default.
Note: not all data should be saved in to cached because of data size etc: you should not keep 10Kb text string into setting cache because it push to memory at application start time.
Parameters
- $key : string
- $default : mixed = null
Return values
mixed|nullgetPrivateEnvironments()
Export private settings to build frontend.
public
getPrivateEnvironments() : array<string|int, mixed>
Return values
array<string|int, mixed>getSiteSettings()
public
getSiteSettings(string $for, bool $loadFromDriver) : array<string, array<string, mixed>>
Parameters
- $for : string
-
web, mobile, admin
- $loadFromDriver : bool
Return values
array<string, array<string, mixed>>has()
Check a settings is exists.
public
has(string $key) : bool
Parameters
- $key : string
Return values
boolkeys()
This method is used to generate ide:fix.
public
keys() : array<string|int, mixed>
Return values
array<string|int, mixed>loadConfigValues()
public
loadConfigValues() : array<string|int, mixed>
Return values
array<string|int, mixed>mockValues()
public
mockValues(array<string|int, mixed> $values) : mixed
Parameters
- $values : array<string|int, mixed>
refresh()
This method should be call when you want to refresh cached data after saving new values.
public
refresh() : void
By default values is loaded from cached. when refresh call it will reload data from database then pull up to cache.
reset()
Reset core_site_settings to value_default by specific $module and name list.
public
reset(string $module[, array<string|int, mixed>|null $names = null ]) : bool
if $names is null, it will reset all values for specific module.
Parameters
- $module : string
- $names : array<string|int, mixed>|null = null
Return values
boolsave()
Save user actual values, only existed name in database can be update.
public
save(array<string|int, mixed> $values) : array<string, mixed>
It should not create new row.
Parameters
- $values : array<string|int, mixed>
Return values
array<string, mixed>saveAndCollectPrivateSettings()
Save setting values and collect all private settings by $privateSettings reference.
public
saveAndCollectPrivateSettings(array<string|int, mixed> $values[, array<string|int, mixed>|null &$privateSettings = [] ]) : array<string, mixed>
Parameters
- $values : array<string|int, mixed>
- $privateSettings : array<string|int, mixed>|null = []
Return values
array<string, mixed>setupPackageSettings()
Create/Update core_site_setting by `name`, and `value_default`.
public
setupPackageSettings(string $module, array<string|int, mixed> $settings) : array<string, mixed>
Parameters
- $module : string
- $settings : array<string|int, mixed>
Return values
array<string, mixed>updatedAt()
Last updated time. this is alias to `get('core.setting_updated_at')`.
public
updatedAt() : string
Return values
stringupdateSetting()
public
updateSetting(string $module, string $name, string|null $configName, string|null $envVar, mixed $value, string $type, bool $public, bool $auto) : bool
Parameters
- $module : string
- $name : string
- $configName : string|null
- $envVar : string|null
- $value : mixed
- $type : string
- $public : bool
- $auto : bool
Return values
boolversionId()
Whenever admin updated revision, we must increment versionId This value is used to publish cache and purge caching data cross multiple distribute server.
public
versionId() : int
This is alias of $this->get('core.setting_version_id');
Return values
intactualValue()
private
actualValue(mixed $value, string $type) : mixed
Parameters
- $value : mixed
- $type : string
getArrayNestedKeys()
Calculate dotted key of array which value is array.
private
getArrayNestedKeys(string $prefix, array<string|int, mixed> $values, array<string|int, mixed> &$keys) : void
Parameters
- $prefix : string
- $values : array<string|int, mixed>
- $keys : array<string|int, mixed>
getByName()
private
getByName(string $name) : SiteSetting|null
Parameters
- $name : string
Return values
SiteSetting|nullgetValueFromDatabase()
private
getValueFromDatabase(int $id) : mixed
Parameters
- $id : int
initialize()
private
initialize() : void
loadCachedValueBag()
private
loadCachedValueBag() : void
loadFromDriver()
private
loadFromDriver(string $for, array<string|int, mixed> &$result) : void
Parameters
- $for : string
- $result : array<string|int, mixed>