While not specific to PHP, this new article on the Coding the Architecture blog gives some good insights on what developers should know about software architecture.
Now I may be biased, but a quick look at my calendar hints to me that there's a renewed and growing interest in software architecture. Although I really like much of the improvement the agile movement has provided to the software development industry, I still can't help feeling that there are a large number of teams out there who struggle with a lack of process.
[...] Put very simply, software architecture plays a pivotal role in the delivery of successful software yet it's frustratingly neglected by many teams. Whether performed by one person or shared amongst the team, the architecture role exists on even the most agile of teams yet the balance of up front and evolutionary thinking often reflects aspiration rather than reality. The big problem is that software architecture has fallen out of favour over the past decade or so. Here are five things that every software developer should know about it.
Each of the five things comes with a paragraph of explanation (and some links to additional resources):
- Software architecture isn't about big design up front
- Every software team needs to consider software architecture
- The software architecture role is about coding, coaching and collaboration
- You don't need to use UML
- A good software architecture enables agility