Shift an element from the argument list.
public shiftArgument ( ) : mixed | ||
return | mixed | The shifted element. |
/** * Determine the requested component. * * @param array $arguments The arguments. * * @return array Two elements: The selected component as * Components_Component instance and optionally a string * representing the path to the specified source component. */ private function _determineComponent($arguments) { if (isset($arguments[0])) { if (in_array($arguments[0], $this->_actions['missing_argument'])) { return; } if ($this->_isPackageXml($arguments[0])) { $this->_config->shiftArgument(); return array($this->_dependencies->getComponentFactory()->createSource(dirname($arguments[0])), dirname($arguments[0])); } if (!in_array($arguments[0], $this->_actions['list'])) { if ($this->_isDirectory($arguments[0])) { $this->_config->shiftArgument(); return array($this->_dependencies->getComponentFactory()->createSource($arguments[0]), $arguments[0]); } $options = $this->_config->getOptions(); if (!empty($options['allow_remote'])) { $result = $this->_dependencies->getComponentFactory()->getResolver()->resolveName($arguments[0], 'pear.horde.org', $options); if ($result !== false) { $this->_config->shiftArgument(); return array($result, ''); } } throw new Components_Exception(sprintf(Components::ERROR_NO_ACTION_OR_COMPONENT, $arguments[0])); } } $cwd = getcwd(); if ($this->_isDirectory($cwd) && $this->_containsPackageXml($cwd)) { return array($this->_dependencies->getComponentFactory()->createSource($cwd), $cwd); } throw new Components_Exception(Components::ERROR_NO_COMPONENT); }