__toString() is not intended to be called directly.
Instead, it defines what is returned when the object is cast to string, either explicitly with:
(string)$element
Or implicitly, when used in certain contexts which would cause a conversion to string.