Are today's major frameworks capable of enterprise capable applications?

I don’t think you understand what “reusable” means in the context of OOP. Your abstract class has methods which are reusable only to classes which extend it. A proper object is reusable anywhere in the system by any other class. It’s back to tight/loose coupling. Inheritance is always tight coupling. For example, your 9000 line class has a fair amount of repeated logic in its get*data functions a bunch of if statement branching. If you Replaced conditionals with polymorphism you wouldn’t need that if (is_object($this->custom_processing_object)) { line hundreds of times an you could remove all the code that was only relevant to ‘custom_processing_objects’ (whatever the hell that are) to their own class. This is just one of dozens of examples in that single 9000 line file but anywhere like that where you have a repeated if statement, separating out the responsibilities better gives you leaner classes with better separated responsibilities.

Have you ever run your code through https://scrutinizer-ci.com or phpmd ( http://phpmd.org/ ) ? You might be interested in the results.