Inevitably the frameworks will fail you, so yes, learn how to dig in deeper and change things.
I can assure new programmers that the idea of a "best practice" is tenuous. They change all the time, and there are several competing ones. This isn't an invitation to invent everything from scratch, but feel free to tweak the best practice to accomodate your project.
I wrote my own version of MVC and also tried creating a custom CMS, am glad I did that it made me invest in a proper framework, and for each I always read the internals to understand the Philosophy before picking it up. I would never take a Framework popular for magical methods and all, because that would increase debugging time for me. It's important to know the underlying concept and practice while using a Framework.
One thing I've learned in eight years: there's no such thing as Best Practice.
We have Good Practice. Learn it well, and use it until you have a reason to depart.
But there is no Best Practice, because it is saying there is One True Solution To Solve All Problems, and literally the entire history of computers proves that premise ridiculous.
We’re a place where coders share, stay up-to-date and grow their careers.
We strive for transparency and don't collect excess data.