Posted on Feb16th2021 by Matthias Noback The quick answer is: because you need it.
If all of your code is coupled to the framework: Pushing for a big and strong core of decoupled code, that isn't tied to the database technology, or a particular web framework, will give you a lot of freedom, and prevents all of the above problems.
If you do all of this, your framework will be like a layer wrapped around your decoupled core: This layer contains all the technical stuff.
When limited to the technology layer around your decoupled core, a framework can use all kinds of practices that I consider bad.
Achieve superior email deliverability with ToastMail! Our AI-driven tool warms up inboxes, monitors reputation, and ensures emails reach their intended destination. Sign up today for a spam-free future.