Introduction
Motivation
The PHP community has evolved considerably over the past two decades, beginning with PHP 5's support for object-oriented programming in 2004, to the first meetings of PHP-FIG to develop a set of standards for PHP code, to the release of Composer as the de facto package manager in 2012. At the same time, the web development community as a whole has been changing, with websites becoming more dependent on JavaScript and CSS to provide sophisticated client-side features. And JavaScript has moved even faster!
This breakneck pace has caused a lot of people to get left behind. For someone who hasn't been doing web development continuously for the past decade or more, it can feel like an overwhelming task to get acquainted with all of the new tools and frameworks that seem to be coming out every day. Relevant comic from Abstruse Goose:

The problem is that when you're a busy developer with real-world projects to work on, it's very difficult to set aside time to read a book about technology X - especially when you're not even sure that you really need to learn X!
UserFrosting has a better idea. Instead of learning about these technologies as a purely academic exercise, you'll work on one of your projects, and learn what you need as you go!
What exactly will I learn?
There are three main categories that UserFrosting attempts to cover: software architecture, tools of the trade, and best practices. Most of the PHP developers we see in chat or on Stack Overflow are behind in at least one of these areas:
Software architecture
- Object-oriented programming and SOLID
- The model-view-controller (MVC) paradigm
- Designing for maintainability and reuse
- Representational State Transfer (REST)
- Security
Tools of the trade
- Frameworks
- Version control (Git)
- Package management (Composer)
- Templating engines (Twig)
- Data modeling and database abstraction (Eloquent)
- Logging
- Markdown
Best practices
- Coding style and standards
- Development environments
- Debugging
- Test-driven development
- Deployment strategies ("going live")