class Uri in Zircon Profile 8
Same name in this branch
- 8 vendor/zendframework/zend-diactoros/src/Uri.php \Zend\Diactoros\Uri
- 8 vendor/zendframework/zend-feed/src/Uri.php \Zend\Feed\Uri
- 8 vendor/guzzlehttp/psr7/src/Uri.php \GuzzleHttp\Psr7\Uri
- 8 core/lib/Drupal/Core/TypedData/Plugin/DataType/Uri.php \Drupal\Core\TypedData\Plugin\DataType\Uri
Same name and namespace in other branches
- 8.0 vendor/zendframework/zend-feed/src/Uri.php \Zend\Feed\Uri
Hierarchy
- class \Zend\Feed\Uri
Expanded class hierarchy of Uri
13 files declare their use of Uri
- AbstractFeed.php in vendor/
zendframework/ zend-feed/ src/ Writer/ AbstractFeed.php - Atom.php in vendor/
zendframework/ zend-feed/ src/ Writer/ Renderer/ Entry/ Atom.php - Callback.php in vendor/
zendframework/ zend-feed/ src/ PubSubHubbub/ Subscriber/ Callback.php - Deleted.php in vendor/
zendframework/ zend-feed/ src/ Writer/ Deleted.php - Entry.php in vendor/
zendframework/ zend-feed/ src/ Writer/ Entry.php
1 string reference to 'Uri'
- core.data_types.schema.yml in core/
config/ schema/ core.data_types.schema.yml - core/config/schema/core.data_types.schema.yml
File
- vendor/
zendframework/ zend-feed/ src/ Uri.php, line 12
Namespace
Zend\FeedView source
class Uri {
/**
* @var string
*/
protected $fragment;
/**
* @var string
*/
protected $host;
/**
* @var string
*/
protected $pass;
/**
* @var string
*/
protected $path;
/**
* @var int
*/
protected $port;
/**
* @var string
*/
protected $query;
/**
* @var string
*/
protected $scheme;
/**
* @var string
*/
protected $user;
/**
* @var bool
*/
protected $valid;
/**
* Valid schemes
*/
protected $validSchemes = [
'http',
'https',
'file',
];
/**
* @param string $uri
*/
public function __construct($uri) {
$parsed = parse_url($uri);
if (false === $parsed) {
$this->valid = false;
return;
}
$this->scheme = isset($parsed['scheme']) ? $parsed['scheme'] : null;
$this->host = isset($parsed['host']) ? $parsed['host'] : null;
$this->port = isset($parsed['port']) ? $parsed['port'] : null;
$this->user = isset($parsed['user']) ? $parsed['user'] : null;
$this->pass = isset($parsed['pass']) ? $parsed['pass'] : null;
$this->path = isset($parsed['path']) ? $parsed['path'] : null;
$this->query = isset($parsed['query']) ? $parsed['query'] : null;
$this->fragment = isset($parsed['fragment']) ? $parsed['fragment'] : null;
}
/**
* Create an instance
*
* Useful for chained validations
*
* @param string $uri
* @return self
*/
public static function factory($uri) {
return new static($uri);
}
/**
* Retrieve the host
*
* @return string
*/
public function getHost() {
return $this->host;
}
/**
* Retrieve the URI path
*
* @return string
*/
public function getPath() {
return $this->path;
}
/**
* Retrieve the scheme
*
* @return string
*/
public function getScheme() {
return $this->scheme;
}
/**
* Is the URI valid?
*
* @return bool
*/
public function isValid() {
if (false === $this->valid) {
return false;
}
if ($this->scheme && !in_array($this->scheme, $this->validSchemes)) {
return false;
}
if ($this->host) {
if ($this->path && substr($this->path, 0, 1) != '/') {
return false;
}
return true;
}
// no host, but user and/or port... what?
if ($this->user || $this->port) {
return false;
}
if ($this->path) {
// Check path-only (no host) URI
if (substr($this->path, 0, 2) == '//') {
return false;
}
return true;
}
if (!($this->query || $this->fragment)) {
// No host, path, query or fragment - this is not a valid URI
return false;
}
return true;
}
/**
* Is the URI absolute?
*
* @return bool
*/
public function isAbsolute() {
return $this->scheme !== null;
}
}
Members
Name | Modifiers | Type | Description | Overrides |
---|---|---|---|---|
Uri:: |
protected | property | ||
Uri:: |
protected | property | ||
Uri:: |
protected | property | ||
Uri:: |
protected | property | ||
Uri:: |
protected | property | ||
Uri:: |
protected | property | ||
Uri:: |
protected | property | ||
Uri:: |
protected | property | ||
Uri:: |
protected | property | ||
Uri:: |
protected | property | Valid schemes | |
Uri:: |
public static | function | Create an instance | |
Uri:: |
public | function | Retrieve the host | |
Uri:: |
public | function | Retrieve the URI path | |
Uri:: |
public | function | Retrieve the scheme | |
Uri:: |
public | function | Is the URI absolute? | |
Uri:: |
public | function | Is the URI valid? | |
Uri:: |
public | function |