* @author Dennis Eichhorn * @copyright 2013 Dennis Eichhorn * @license OMS License 1.0 * @version 1.0.0 * @link http://orange-management.com */ namespace phpOMS\Uri; /** * Uri interface. * * @category Uri * @package Framework * @author OMS Development Team * @author Dennis Eichhorn * @license OMS License 1.0 * @link http://orange-management.com * @since 1.0.0 */ interface UriInterface { /** * Is uri valid? * * @param \string $uri Uri string * * @return \bool * * @since 1.0.0 * @author Dennis Eichhorn */ public static function isValid(\string $uri) : \bool; /** * Get scheme. * * @return \string * * @since 1.0.0 * @author Dennis Eichhorn */ public function getScheme() : \string; /** * Get authority. * * @return \string * * @since 1.0.0 * @author Dennis Eichhorn */ public function getAuthority() : \string; /** * Get user info. * * @return \string * * @since 1.0.0 * @author Dennis Eichhorn */ public function getUserInfo() : \string; /** * Get host. * * @return \string * * @since 1.0.0 * @author Dennis Eichhorn */ public function getHost() : \string; /** * Get port. * * @return \int * * @since 1.0.0 * @author Dennis Eichhorn */ public function getPort() : \int; /** * Get path. * * @return \string * * @since 1.0.0 * @author Dennis Eichhorn */ public function getPath() : \string; /** * Get query. * * @param \string $key Query key * * @return \string|array * * @since 1.0.0 * @author Dennis Eichhorn */ public function getQuery(\string $key = null); /** * Get fragment. * * @return \string * * @since 1.0.0 * @author Dennis Eichhorn */ public function getFragment() : \string; /** * Get uri. * * @return \string * * @since 1.0.0 * @author Dennis Eichhorn */ public function __toString(); /** * Get base uri. * * @return \string * * @since 1.0.0 * @author Dennis Eichhorn */ public function getBase() : \string; }