UriPlusInterface.php 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  1. <?php
  2. /**
  3. * This file is part of Swow
  4. *
  5. * @link https://github.com/swow/swow
  6. * @contact twosee <twosee@php.net>
  7. *
  8. * For the full copyright and license information,
  9. * please view the LICENSE file that was distributed with this source code
  10. */
  11. declare(strict_types=1);
  12. namespace Swow\Psr7\Message;
  13. use Psr\Http\Message\UriInterface;
  14. interface UriPlusInterface extends UriInterface
  15. {
  16. public function getScheme(): string;
  17. public function setScheme(string $scheme): static;
  18. /** @param string $scheme */
  19. public function withScheme(mixed $scheme): static;
  20. public function getAuthority(): string;
  21. public function getUserInfo(): string;
  22. public function setUserInfo(string $user, string $password = ''): static;
  23. /**
  24. * @param string $user
  25. * @param string $password
  26. */
  27. public function withUserInfo(mixed $user, mixed $password = ''): static;
  28. public function getHost(): string;
  29. public function setHost(string $host): static;
  30. /** @param string $host */
  31. public function withHost(mixed $host): static;
  32. public function getPort(): ?int;
  33. public function setPort(?int $port): static;
  34. /** @param int $port */
  35. public function withPort($port): static;
  36. public function getPath(): string;
  37. public function setPath(string $path): static;
  38. /** @param string $path */
  39. public function withPath(mixed $path): static;
  40. public function getQuery(): string;
  41. public function setQuery(string $query): static;
  42. /** @param string $query */
  43. public function withQuery(mixed $query): static;
  44. /** @return array<string, string> */
  45. public function getQueryParams(): array;
  46. /** @param array<string, string> $queryParams */
  47. public function setQueryParams(array $queryParams): static;
  48. /** @param array<string, string> $queryParams */
  49. public function withQueryParams(array $queryParams): static;
  50. public function getFragment(): string;
  51. public function setFragment(string $fragment): static;
  52. /** @param string $fragment */
  53. public function withFragment(mixed $fragment): static;
  54. public function toString(): string;
  55. }