Discussions about software design are sometimes started with attempts at justification: "Why should we do this?", "What are the benefits?" "What is the purpose?" I think this is a great way to start because downstream decisions (e.g. when you are choosing between design patterns) can often be guided by
Dependency injection has become a relatively common concept to ask during technical interviews. While it is the generally accepted best practice in modern PHP development, it seems terribly little understood beyond the provisions exposed by 3rd party libraries and frameworks. Perhaps the most common explanation of DI (dependency injection) is
Interfaces and exceptions have some synergy going on about them. Recently, I have been employing exceptions to preserve (meaningful) interfaces and redirect control back to the calling context. It is surprisingly elegant — at least compared to some alternatives.
While PHP has made incredible progress in recent years, it continues to suffer ill repute. Some have even taken the extreme road of leaving PHP due to the bad rap alone. As of StackOverflow's Annual Developer Survey for 2020, PHP still ranks high among the languages programmers most want to stop
Despite being at the receiving end of bug reports, programmers are generally poor authors of bug reports as well. This came as a surprise to me as I worked with programmers of varying experiences. How could programmers themselves not know how to author an effective bug report?