What are the benefits of transitioning from procedural programming to object-oriented programming in PHP?

Transitioning from procedural programming to object-oriented programming in PHP offers several benefits, including better code organization, reusability of code through inheritance and polymorphism, easier maintenance and debugging, and improved scalability of the codebase. Object-oriented programming allows for the creation of classes and objects, which encapsulate data and behavior, leading to more modular and flexible code.

// Procedural approach
$circle_radius = 5;

function calculate_circle_area($radius) {
    return pi() * $radius * $radius;
}

$circle_area = calculate_circle_area($circle_radius);
echo "The area of the circle is: " . $circle_area;

// Object-oriented approach
class Circle {
    private $radius;

    public function __construct($radius) {
        $this->radius = $radius;
    }

    public function calculateArea() {
        return pi() * $this->radius * $this->radius;
    }
}

$circle = new Circle(5);
$circle_area = $circle->calculateArea();
echo "The area of the circle is: " . $circle_area;