RE: Frameworks (pretty sure this can apply to any language, but I'm writing in reference to a question for PHP )
Use a framework only if you know the framework will cover all of the use cases and possible new features for the application. That being said, without knowing the basics and modern trends of the underlying language, you should NOT use a framework and continue learning the language first.
Personally, I would suggest using a micro-framework instead of one of the large include-everything frameworks as they have a tendency to force extra functionality on you that is usually unnecessary and may slow down your application or limit your abilities to extend it. If you find that a framework makes it difficult to add a new library, then it is not a good framework.
Agreed.
When it comes to PHP & modern app builds, my personal choices are; Symfony + API Platform.