¿Es PHP un Lenguaje Orientado a Objetos?


Desde hace varios años que PHP soporta clases y objetos, pero ¿es realmente PHP un lenguaje de programación orientado a objetos?

La respuesta corta es no, no es un lenguaje completamente orientado a objetos. Y tampoco es C++ o Java. Y la razón es muy simple:

Tanto PHP como C++ o Java tiene tipos primitivos. Además que PHP tiene una gran coleccion de funciones como str_replace() y is_*(), que son claramente procedurales por naturaleza. Lenguajes puramente orientados a objetos son, por ejemplo, Ruby y Scala.
Respecto a código a PHP, solo porque se usan clases no lo hace un lenguaje orientado a objetos. Especialmente si gran parte de tu código es basado en clases estáticas.

Respecto algunos frameworks como CakePHP, la respuesta es no también, debido a que es mas bien una programación orientada a clases. El código base esta lleno de variables y métodos estáticos, donde las clases actúan más como espacios de nombres o namespaces. Básicamente, CakePHP es código procedural, envuelto en una sintaxis que imita superficialmente la orientación a objetos.

No hay comentarios:

Publicar un comentario