Create methods or variables for a service class?

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();