This kind of API doesn't really work when you want to return data.
It can be a convenience for building complex objects where numerous methods can be executed with less boilerplate code. The methods tend to be named descriptively, giving a good idea of what being done.
An example is the 'query builder' pattern, building the SQL statement via chained methods.
$sql = $qb->select()->from('table')->where()->field('foo')->equals('bar');
Don't be fooled however, this is just saving you from using setters.
$qb->setSelect();
$qb->setFrom('table');
$qb->setField('foo');
$qb->setEquals('bar');
Obvious you are not creating a query builder, and there are different implementations of the same API, however the key is they all add data to the object rather than return it.