(obejto1->metodoX)->metodoY y pienso deberia ser valido cuando el metodoX devuelve otro objeto pero no me ha funcionado

La otra duda es sobre si conviene siempre devolver objetos. Entre hacer objetos donde sus metodos son casi exclusivamente para setear y devolver propiedades y devolver un array asociativo con las propiedades que me interesa .... ahi la duda de que conviene mas.
A ver si me ayudan

GRACIAS!