diff options
author | Maurício Meneghini Fauth <mauricio@fauth.dev> | 2022-09-18 22:32:42 +0300 |
---|---|---|
committer | Maurício Meneghini Fauth <mauricio@fauth.dev> | 2022-09-18 22:32:42 +0300 |
commit | 6792b17e72f28ec61a0a9b32055c751d34336e5e (patch) | |
tree | 36c2ce801674766156d5cb6f6d31ee974c4075d8 /libraries/classes | |
parent | 435701f4cab899f63a528f4e1b0003e253db8bec (diff) |
Add tryFromValue method to DatabaseName and TableName classes
Signed-off-by: Maurício Meneghini Fauth <mauricio@fauth.dev>
Diffstat (limited to 'libraries/classes')
-rw-r--r-- | libraries/classes/Common.php | 16 | ||||
-rw-r--r-- | libraries/classes/Dbal/DatabaseName.php | 12 | ||||
-rw-r--r-- | libraries/classes/Dbal/TableName.php | 12 |
3 files changed, 28 insertions, 12 deletions
diff --git a/libraries/classes/Common.php b/libraries/classes/Common.php index d264dd61f0..0e5b1b58e1 100644 --- a/libraries/classes/Common.php +++ b/libraries/classes/Common.php @@ -6,8 +6,6 @@ namespace PhpMyAdmin; use PhpMyAdmin\ConfigStorage\Relation; use PhpMyAdmin\Dbal\DatabaseName; -use PhpMyAdmin\Dbal\InvalidDatabaseName; -use PhpMyAdmin\Dbal\InvalidTableName; use PhpMyAdmin\Dbal\TableName; use PhpMyAdmin\Http\Factory\ServerRequestFactory; use PhpMyAdmin\Http\ServerRequest; @@ -526,17 +524,11 @@ final class Common ): void { $GLOBALS['urlParams'] = $GLOBALS['urlParams'] ?? null; - try { - $GLOBALS['db'] = DatabaseName::fromValue($request->getParam('db'))->getName(); - } catch (InvalidDatabaseName $exception) { - $GLOBALS['db'] = ''; - } + $db = DatabaseName::tryFromValue($request->getParam('db')); + $table = TableName::tryFromValue($request->getParam('table')); - try { - $GLOBALS['table'] = TableName::fromValue($request->getParam('table'))->getName(); - } catch (InvalidTableName $exception) { - $GLOBALS['table'] = ''; - } + $GLOBALS['db'] = $db !== null ? $db->getName() : ''; + $GLOBALS['table'] = $table !== null ? $table->getName() : ''; if (! is_array($GLOBALS['urlParams'])) { $GLOBALS['urlParams'] = []; diff --git a/libraries/classes/Dbal/DatabaseName.php b/libraries/classes/Dbal/DatabaseName.php index 039b06bbfe..854fe168af 100644 --- a/libraries/classes/Dbal/DatabaseName.php +++ b/libraries/classes/Dbal/DatabaseName.php @@ -64,6 +64,18 @@ final class DatabaseName implements Stringable } /** + * @param mixed $name + */ + public static function tryFromValue($name): ?self + { + try { + return new self($name); + } catch (InvalidDatabaseName $exception) { + return null; + } + } + + /** * @psalm-return non-empty-string */ public function getName(): string diff --git a/libraries/classes/Dbal/TableName.php b/libraries/classes/Dbal/TableName.php index b05ed20f99..470a4087a5 100644 --- a/libraries/classes/Dbal/TableName.php +++ b/libraries/classes/Dbal/TableName.php @@ -64,6 +64,18 @@ final class TableName implements Stringable } /** + * @param mixed $name + */ + public static function tryFromValue($name): ?self + { + try { + return new self($name); + } catch (InvalidTableName $exception) { + return null; + } + } + + /** * @psalm-return non-empty-string */ public function getName(): string |