28 $nodePath = trim($nodePath);
32 throw new \InvalidArgumentException(
'Invalid arguments');
36 $pathParts = explode(
'/', $nodePath);
38 $relativePartsCount = count($relativePathParts);
39 $pathPartsCount = count($pathParts);
41 if ($relativePartsCount === 1 && $pathPartsCount > 1) {
42 $relativePathParts = array_pad($relativePathParts, -$pathPartsCount,
'*');
48 if (
false == array_key_exists(
$index, $pathParts)) {
49 throw new \InvalidArgumentException(
50 sprintf(
'Invalid relative path %s in %s node',
$relativePath, $nodePath)
58 return implode(
'/', $realPath);
convert($nodePath, $relativePath)