From d20b0d99f617d405308b70be06681b0c1c48d569 Mon Sep 17 00:00:00 2001 From: underdpt Date: Wed, 12 Dec 2018 11:49:23 +0100 Subject: [PATCH 1/2] Check if a given key exists --- src/Settings.php | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/src/Settings.php b/src/Settings.php index 381a4ff..3f697a0 100644 --- a/src/Settings.php +++ b/src/Settings.php @@ -55,6 +55,18 @@ public function get($key = NULL) } + /** + * Check if a given key exists + * @param string $key + * @return boolean + */ + public function has($key) + { + $settings = $this->decryptHandler($this->resolveCache()); + + return array_key_exists($key, $settings); + } + public function set($changes, bool $force = false) { From e2375cc3cf148834e857703c4903534816884360 Mon Sep 17 00:00:00 2001 From: underdpt Date: Wed, 12 Dec 2018 11:51:49 +0100 Subject: [PATCH 2/2] Update readme --- README.md | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 1b880a7..11ad1e6 100644 --- a/README.md +++ b/README.md @@ -8,8 +8,8 @@ Super simple key/value settings for Laravel 5.4+ that natively supports [encrypt * [Get single setting](#get-single-setting) * [Get certain setting(via array)](#get-certain-settings) * [Encryption](#encryption) - - + + ## Installation This package can be used in Laravel 5.4 or higher. @@ -89,6 +89,13 @@ You can also return a list of specified settings by passing an array of setting Settings::get(['firm_name','contact_types']); ``` +### Check if a setting is set +Sometimes you can't know if a setting has been set or not (mainly boolean settings that will return false if the setting doesn't exists and also if the setting has been set to false). + +```php +Settings::has(['firm_name']); +``` + ## Encryption You can define keys that should be encrypted automatically within the [config/settings.php](https://github.com/hackerESQ/settings/blob/master/config/settings.php) file. To do so, add the keys as such: @@ -107,4 +114,3 @@ Feel free to create a fork and submit a pull request if you would like to contri ### Bug reports Raise an issue on GitHub if you notice something broken. -