El concepto es precisamente no tratar de trapear o camuflear algo como el estilo del ejemplo expuesto.. porque si vamos todos programando así, entonces se pierde la realidad de lo que debe cumplirse en la POO.
No confundir $this con que esta llamando funciones y decir es lo mismo como que yo haga clase::funcion(parametro) porque this tiene otro proposito. Dentro de una clase bien estructurada los metodos y los atributos tienen una relacion ya que estan encapsulados dentro de la misma clase.. pero mirando el ejemplo posteado lo que se esta haciendo es una programacion estructurada con intento de camuflaje en un lenguaje orientado a objetos y eso la verdad... teoricamente esta mal, no se aplica y no existe. Es como querer mezclar sintaxis de C y C++ a la vez... eso no te hace mega groso ni mas poderoso, eso esta mal, y hay que respetar las cosas como estan establecidas solo eso.
a eso me refiero, si decides hacer un sistema totalmente orientado a objetos, debes regirte por clases y no mezclar programación estructurada con POO, y suponiendo que tienes una clase color, y quieres un color, no necesitas crear un objeto color para acceder a este, por eso mencioné que en java se llaman a elementos estaticos en clases, lo que viene a ser lo mismo en php si quiero acceder a un elemento, obviamente si quiero un método obligatoriamente debería crear el objeto primero porque si no no tiene razón de ser una clase (aunque esto también pasa en java xD)
por último, al creador del post, le recomiendo aprender a programar en cualquier lenguaje, y si decide seguir con php, leer
este blog XD
salu2