From b992fe2fe222bc1493393188d6898d046d775e39 Mon Sep 17 00:00:00 2001 From: Marc Egger <marc.egger@uzh.ch> Date: Tue, 13 Oct 2020 13:00:16 +0200 Subject: [PATCH] Path.php: replace func_get_args() with ...$var unpacking notation --- extension/Classes/Core/Helper/Path.php | 60 +++++++++++++++----------- 1 file changed, 35 insertions(+), 25 deletions(-) diff --git a/extension/Classes/Core/Helper/Path.php b/extension/Classes/Core/Helper/Path.php index 78d426ad2..2af5aa94d 100644 --- a/extension/Classes/Core/Helper/Path.php +++ b/extension/Classes/Core/Helper/Path.php @@ -99,7 +99,7 @@ class Path */ public static function absoluteApp(...$pathPartsToAppend): string { - return self::realpath(self::cwdToApp(), ...$pathPartsToAppend); + return self::realpath(self::cwdToApp(), $pathPartsToAppend); } /** @@ -109,7 +109,7 @@ class Path */ public static function absoluteExt(...$pathPartsToAppend): string { - return self::realpath(self::cwdToExt(), ...$pathPartsToAppend); + return self::realpath(self::cwdToExt(), $pathPartsToAppend); } /** @@ -119,7 +119,7 @@ class Path */ public static function absoluteLog(...$pathPartsToAppend): string { - return self::realpath(self::cwdToLog(), ...$pathPartsToAppend); + return self::realpath(self::cwdToLog(), $pathPartsToAppend); } /** @@ -159,78 +159,86 @@ class Path } /** + * @param array $pathPartsToAppend * @return string * @throws \UserFormException */ - public static function cwdToLog(/* path parts to append */): string + public static function cwdToLog(...$pathPartsToAppend): string { self::enforcePathIsSet(self::$cwdToLog); - return self::join(self::$cwdToLog, func_get_args()); + return self::join(self::$cwdToLog, $pathPartsToAppend); } /** + * @param array $pathPartsToAppend * @return string * @throws \UserFormException */ - public static function cwdToApp(/* path parts to append */): string + public static function cwdToApp(...$pathPartsToAppend): string { self::enforcePathIsSet(self::$cwdToApp); - return self::join(self::$cwdToApp, func_get_args()); + return self::join(self::$cwdToApp, $pathPartsToAppend); } /** + * @param array $pathPartsToAppend * @return string * @throws \UserFormException */ - public static function appToProject(/* path parts to append */): string + public static function appToProject(...$pathPartsToAppend): string { self::enforcePathIsSet(self::$appToProject); - return self::join(self::$appToProject, func_get_args()); + return self::join(self::$appToProject, $pathPartsToAppend); } /** + * @param array $pathPartsToAppend * @return string * @throws \UserFormException */ - public static function cwdToProject(/* path parts to append */): string + public static function cwdToProject(...$pathPartsToAppend): string { - return self::cwdToApp(self::appToProject(func_get_args())); + return self::cwdToApp(self::appToProject($pathPartsToAppend)); } /** + * @param array $pathPartsToAppend * @return string * @throws \UserFormException */ - public static function appToExt(/* path parts to append */): string + public static function appToExt(...$pathPartsToAppend): string { - return self::join(self::APP_TO_EXT, func_get_args()); + return self::join(self::APP_TO_EXT, $pathPartsToAppend); } /** + * @param array $pathPartsToAppend * @return string * @throws \UserFormException */ - public static function cwdToExt(/* path parts to append */): string + public static function cwdToExt(...$pathPartsToAppend): string { - return self::cwdToApp(self::APP_TO_EXT, func_get_args()); + return self::cwdToApp(self::APP_TO_EXT, $pathPartsToAppend); } /** + * @param array $pathPartsToAppend * @return string * @throws \UserFormException */ - public static function extToApi(/* path parts to append */): string + public static function extToApi(...$pathPartsToAppend): string { - return self::join(self::EXT_TO_API, func_get_args()); + return self::join(self::EXT_TO_API, $pathPartsToAppend); } /** + * @param array $pathPartsToAppend * @return string * @throws \UserFormException */ - public static function appToApi(/* path parts to append */): string + public static function appToApi(...$pathPartsToAppend): string { - return self::join(self::APP_TO_EXT, self::EXT_TO_API, func_get_args()); + return self::join(self::APP_TO_EXT, self::EXT_TO_API, $pathPartsToAppend); } /** @@ -308,15 +316,17 @@ class Path } /** - * Join the arguments together as a path. - * The second argument may be an array of parts. (further arguments are ignored in that case) + * Join the arguments together as a path. Array arguments are flattened! + * Trailing path parts may not start with '/'. * + * join(['this', 'is'], 'my/wonderful', [['path/of', 'nice'], 'things']) === 'this/is/my/wonderful/path/of/nice/things' + * + * @param array $pathPartsToAppend * @return string - * @throws \UserFormException Don't remove. */ - public static function join(/* path parts to append */): string + public static function join(...$pathPartsToAppend): string { - $parts = func_get_args(); + $parts = $pathPartsToAppend; // concatenate all parts (arrays are flattened) $path = ''; @@ -493,6 +503,6 @@ EOF; if ($absolutePath === false) { Thrower::userFormException('Path not found.', "Either file/dir not exists or access not permitted: $cwdToSomethingThatExists."); } - return self::join($absolutePath, ...$pathPartsToAppend); + return self::join($absolutePath, $pathPartsToAppend); } } \ No newline at end of file -- GitLab