In what scenarios should PHP developers consider transitioning from procedural code to object-oriented code for better code maintenance?

Transitioning from procedural code to object-oriented code in PHP is beneficial for better code maintenance when the codebase starts to become complex and difficult to manage. Object-oriented programming allows for better organization of code, reusability of components, and easier maintenance and updates. Developers should consider transitioning to object-oriented code when they find themselves repeating code, struggling to keep track of global variables, or facing difficulties in scaling the application.

// Procedural code
$firstName = "John";
$lastName = "Doe";

function getFullName($firstName, $lastName){
    return $firstName . " " . $lastName;
}

echo getFullName($firstName, $lastName);
```

```php
// Object-oriented code
class Person {
    private $firstName;
    private $lastName;

    public function __construct($firstName, $lastName){
        $this->firstName = $firstName;
        $this->lastName = $lastName;
    }

    public function getFullName(){
        return $this->firstName . " " . $this->lastName;
    }
}

$person = new Person("John", "Doe");
echo $person->getFullName();