Es programación funcional.
Ninguna es mejor que la otra, cada una tiene su razón de ser.
La Programación orientada a objetos te permite reutilizar el código eficientemente, por ejemplo en programación funcional si quieres hacer un programa que represente un vehiculo, harias algo como
Código PHP:
function vehiculo($llantas, $puertas, $color);
Y si quisieras tener en tu programa carros y motos (los dos son tipos de vehiculos) tendrias que definir dos funciones para carros y para motos, duplicando mucho del codigo que ya existe en la funcion vehiculo.
Ante ese tipo de escenarios, la programacion orientada a objetos te permite la flexibilidad de definir un programa "base" que es la famosa, clase Base.
por ejemplo:
Código PHP:
class Vehiculo {
private $puertas;
private $llantas;
private $color;
}
Y puedes extender esa clase para hacer otras dos clases, Carro y Moto.
Código PHP:
class Carro extends Vehiculo {
}
y
Código PHP:
class Moto extends Vehiculo {
}
y ya no tienes necesidad de definir puertas, llantas y color otra vez porque la clase "padre" ya definio esas propiedades para esos dos programas, y te permite "personalizar" el programa para "carros" y el programa para "motos" utilizando funciones en comun que ya tienes definidas en la clase "vehiculo"
Ahora en algunos escenarios, eso es simple y sencillamente como le decimos "overkill". Tareas sencillas a veces son mas sencillas realizarlas con programacion funcional, como recorrer un directorio o un programa super sencillo.
La ventaja de PHP a diferencia de otros lenguajes de programacion como Java, es que PHP te permite mezclar ambos "estilos" al mismo tiempo y los que se inician en la programacion tienden a confundirlos frecuentemente.
En general, es mas sencillo aprender programacion funcional y luego programacion orientada a objetos. Esto es porque la programacion funcional te expone mas directamente al funcionamiento interno de PHP