I finally finished the Object Oriented PHP Track! That finished everything I wanted to learn about PHP within Team Treehouse. It’s a huge milestone for me and I’m excited to move on to the next phase of my learning. But what did I think about the OOP track?
In, short I felt that the track as a whole has a lot to offer for beginner to intermediate level programmers but it also suffers from minor flaws that exacerbated my enthusiasm. First starting the track, I was overwhelmed by the seemingly endless details of PHP programming. Having to memorize the syntax of objects, classes, interfaces, abstract classes, errors and exceptions. Learning each use case was made difficult by the handwaving of instructors. Sections code that seemed important or key terms and definitions were glossed over for the sake of time. It generally felt like the instructor wanted to just get through the course rather than examine each step. This problem shows when often the course notes and tips sections are often missing, and when there are quiz questions that are asked before that subject is covered. In short, I learned a ton but was left a little disappointed.
What Object Oriented PHP Track Covers
- Object Oriented PHP Basics
- Extending Object Oriented PHP
- Designing Interfaces in PHP
- Introduction to PHP 7
- Basic Exception Handling with PHP
- Dependency Management with Composer
- Building Websites with PHP
Most of the modules were fairly comprehensive. The difficult parts were Interfaces and Abstract classes. The instructor, Alena, tries her best to cover the specific differences, but there didn’t seem like a clear cut rule. Like most modules that leave small gaps, the knowledge is supplemented with some Googling, but that also somewhat defeats the purpose of paying for a catered course.
Starting with Dependency Management Composer was a big eye opener on how to utilize libraries. When I’m browsing PHP forums a lot of the conversation revolves around dependencies, libraries, and frameworks, and this course finally opened my understanding of how it integrates with vanilla PHP. Building Websites with PHP really helped solidify this concept and extended it by using the Slim framework. Though I’m curious why they didn’t choose Laravel.
What Object Oriented PHP Track Doesn’t Cover
Team Treehouse might need more classes on tooling. They do supplement some of the needed knowledge with one-off classes here and there you can pick up such as Git, Docker, AWS, and Virtual Box. What these lack in they lack is teaching the modern way of environment setup, version control, and deployment. How do all the developer tools work together from beginning to end? Perhaps there are too many variations on how one chooses to set up their flow to tackle. Integrating the tooling courses to the tracks, or at least an overview of what is the up to date work flow would be a huge help.
Team Treehouse’s Object Orientated PHP track gave me the basics and the confidence to start exploring on my own. Throughout the course, I knew where to go to supplement my studies or get a different explanation of the same idea. One of my favourites so far has been
My next steps are to really work with Laravel and understand what it has to offer. I know that might take a while. My immediate goal is to make a note writing