When creating a class, should you create public vars and assign them like this:
class DomainService {
public $parsedUrl;
public $scheme;
public $host;
public function parse($url)
{
$this->parsedUrl = parse_url($url);
$this->scheme = $this->url['scheme'];
$this->host = $this->url['host'];
}
}
Usage:
$parsed = $domainService->parse($url);
$scheme = $domainService->scheme;
$host = $domainService->host;
Or should you chain methods like:
class DomainService {
private $parsedUrl;
public function parse($url)
{
$this->parsedUrl = parse_url($url);
return $this;
}
public function scheme()
{
return $this->parsedUrl['scheme'];
}
public function host()
{
return $this->parsedUrl['host'];
}
}
Usage:
$parsed = $domainService->parse($url);
$scheme = $domainService->scheme();
$host = $domainService->host();