From e8785124e03f4ad54af9b4a8473923b7cd99adaf Mon Sep 17 00:00:00 2001 From: jo Date: Thu, 11 Aug 2022 13:06:41 +0200 Subject: [PATCH] feat(legacy): add config dot notation access --- legacy/application/configs/conf.php | 46 +++++++++++++++--------- legacy/composer.json | 1 + legacy/composer.lock | 55 ++++++++++++++++++++++++++++- 3 files changed, 85 insertions(+), 17 deletions(-) diff --git a/legacy/application/configs/conf.php b/legacy/application/configs/conf.php index 2e2b4d172..0c05c99ac 100644 --- a/legacy/application/configs/conf.php +++ b/legacy/application/configs/conf.php @@ -7,6 +7,7 @@ require_once __DIR__ . '/constants.php'; require_once VENDOR_PATH . '/autoload.php'; // THIS FILE IS NOT MEANT FOR CUSTOMIZING. +use Adbar\Dot; use League\Uri\Contracts\UriException; use League\Uri\Uri; use Symfony\Component\Config\Definition\Builder\TreeBuilder; @@ -98,6 +99,7 @@ class Schema implements ConfigurationInterface class Config { private static $legacy_values; + private static $dot_values; private static $values; private static function load() @@ -135,6 +137,7 @@ class Config self::$values = $values; self::fillLegacyValues($values); + self::$dot_values = new Dot($values); } /** @@ -156,6 +159,33 @@ class Config } } + public static function get(...$args) + { + if (is_null(self::$dot_values)) self::load(); + return self::$dot_values->get(...$args); + } + + public static function has(...$args) + { + if (is_null(self::$dot_values)) self::load(); + return self::$dot_values->has(...$args); + } + + public static function getStoragePath() + { + return self::get('storage.path'); + } + + public static function getPublicUrl() + { + return self::get('general.public_url'); + } + + public static function getBasePath() + { + return self::get('general.public_url_raw')->getPath(); + } + /** * Legacy config */ @@ -241,20 +271,4 @@ class Config return self::$legacy_values; } - - - public static function getStoragePath() - { - return self::getConfig()['storagePath']; - } - - public static function getPublicUrl() - { - return self::getConfig()['public_url']; - } - - public static function getBasePath() - { - return self::getConfig()['public_url_raw']->getPath(); - } } diff --git a/legacy/composer.json b/legacy/composer.json index 9412fe025..d881e3afc 100644 --- a/legacy/composer.json +++ b/legacy/composer.json @@ -24,6 +24,7 @@ } ], "require": { + "adbario/php-dot-notation": "^2.3.0", "composer/semver": "^3.2", "james-heinrich/getid3": "^1.9", "jooola/celery-php": "dev-master", diff --git a/legacy/composer.lock b/legacy/composer.lock index 3c2442d63..a88f16a40 100644 --- a/legacy/composer.lock +++ b/legacy/composer.lock @@ -4,8 +4,61 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "ae64767078beb8eada6d1c6b98f349ad", + "content-hash": "5fa10b8427129984dd981839ea8b1d70", "packages": [ + { + "name": "adbario/php-dot-notation", + "version": "2.3.0", + "source": { + "type": "git", + "url": "https://github.com/adbario/php-dot-notation.git", + "reference": "39ece8d385ce2f5e03718c693932d83ab0cb5972" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/adbario/php-dot-notation/zipball/39ece8d385ce2f5e03718c693932d83ab0cb5972", + "reference": "39ece8d385ce2f5e03718c693932d83ab0cb5972", + "shasum": "" + }, + "require": { + "ext-json": "*", + "php": "^5.5 || ^7.0 || ^8.0" + }, + "require-dev": { + "phpunit/phpunit": "^4.8|^5.7|^6.6|^7.5|^8.5|^9.5", + "squizlabs/php_codesniffer": "^3.6" + }, + "type": "library", + "autoload": { + "files": [ + "src/helpers.php" + ], + "psr-4": { + "Adbar\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Riku Särkinen", + "email": "riku@adbar.io" + } + ], + "description": "PHP dot notation access to arrays", + "homepage": "https://github.com/adbario/php-dot-notation", + "keywords": [ + "ArrayAccess", + "dotnotation" + ], + "support": { + "issues": "https://github.com/adbario/php-dot-notation/issues", + "source": "https://github.com/adbario/php-dot-notation/tree/2.3.0" + }, + "time": "2022-07-12T02:52:50+00:00" + }, { "name": "composer/semver", "version": "3.3.2",