setRawArguments( array_map(static function ($key) use ($prefix) { return $prefix . $key; }, $this->getArguments()) ); } /** * Applies prefix for first argument. * * @param string $prefix * @return void */ public function applyPrefixForFirstArgument(string $prefix): void { $arguments = $this->getArguments(); $arguments[0] = $prefix . $arguments[0]; $this->setRawArguments($arguments); } /** * Applies prefix for interleaved arguments. * * @param string $prefix * @return void */ public function applyPrefixForInterleavedArgument(string $prefix): void { if ($arguments = $this->getArguments()) { $length = count($arguments); for ($i = 0; $i < $length; $i += 2) { $arguments[$i] = "$prefix{$arguments[$i]}"; } $this->setRawArguments($arguments); } } /** * Applies prefix for all keys except last one. * * @param string $prefix * @return void */ public function applyPrefixSkippingLastArgument(string $prefix): void { if ($arguments = $this->getArguments()) { $length = count($arguments); for ($i = 0; $i < $length - 1; ++$i) { $arguments[$i] = "$prefix{$arguments[$i]}"; } $this->setRawArguments($arguments); } } /** * Applies prefix for all keys except first one. * * @param string $prefix * @return void */ public function applyPrefixSkippingFirstArgument(string $prefix): void { if ($arguments = $this->getArguments()) { $length = count($arguments); for ($i = 1; $i < $length; ++$i) { $arguments[$i] = "$prefix{$arguments[$i]}"; } $this->setRawArguments($arguments); } } }