Let’s take a look at the downsides.
Slower Execution & Executes The Same Code Repeatedly Without Need
It is slower than pure (plain coding). This is because it contains a lot more architecture and features.
General Solutions for Specific Problems
PHP’s creator, Rasmus Lerdorf, has said:
Nobody has a general problem. Everyone has a very specific problem they’re trying to solve. And a general purpose framework, while it can solve it, usually solves it in a way that you get so many other things that you don’t need. That ends up being done on every request.
Limited Visibility and Control
Using a software framework moves your application development to a higher level of abstraction. This is by design, and usually a good thing. However, it’s good to realize that it too can lead to problems.
While many parts of the framework’s template are meant to be customized, the framework’s core and its libraries are like a black box you use but don’t have much control over. You may suggest improvements but ultimately, it’s up to the framework’s developers to decide whether they will include that change or not.
Also, if you start using a framework before fully understanding the language itself, you may confuse the framework’s features with language features—and will end up using the framework’s functionality even when plain coding would be a better choice.