Links, that contain PHP-only materials, are marked with php for easier identification.
You cannot even begin to delve into MVC before you have comprehensive understanding of OOP. That include OOP practices (dependency injection, unit testing, refactoring) principles (SOLID, SoC, CQS, LoD) and common patterns (and no, singleton is not an object-oriented pattern).
MVC is an advanced architectural design pattern, which requires solid understanding. It is not meant for beginners or for tiny “hello world” applications. One uses MVC to add additional constraints to the codebase, when simple adherence to OOP practices becomes too loose to control the codebase.
The best I can suggest for you would be to begin by expanding you knowledge regarding object oriented code:
- Clean Code I: Arguments
- Clean Code III: Functions
The two lectures above should cover the basics. And then move on to:
- Inheritance, Polymorphism, & Testing
- Unit Testing
- Global State and Singletons
- Don’t Look For Things!
When you understand all that was explain in this series, you can expand on:
- Don’t be STUPID, Grasp SOLID! php
- The Principles of Agile Design
- Advanced OO Patterns (slides) php
- Beyond Frameworks (slides) php
- Agility and Quality php
- Beyond Design Patterns php
Also, I would strongly recommend for you to read (in this order):
- Design Patterns Explained
- GUI Architectures
- Inversion of Control Containers and the Dependency Injection pattern
- Patterns of Enterprise Application Architecture
- Domain-Driven Design: Tackling Complexity in the Heart of Software
P.S.: you might also take a look at this book (cautiously, because it has issues): Guide to PHP Design Patterns php