Hello Christopher. My business partner asked me the same question when we started our web application business and decided to use PHP. He liked C# with .Net code organization and architectural principles (ORM, DAL, Services, TDD, BDD, etc). Many frameworks do that (in other languages than .Net). Python Pylons, Ruby on Rails, Many Java frameworks. Etc. But in PHP. Not that much. But we found our one. It's called Symfony Framework. But it was still the MVC that everybody puts all logic in the controller. Until We started building our own Services, Managers and other business logic classes that. We loved symfony. Until we loved even more symfony 2 that actually do all the above. Some pointers: - Behavior Driven layer - BeHat a symfony bundle - Everything os a bundle and you can do dependency injection - Convention over configuration - Entities with an ORM - Forms are separate entities (compared to symfony1.x) - integrated test framework Books: - symfony provides lots of free documentation and books online - The RSpec Book (its from ruby world but speaks about Cucumber and BDD that Behat Bundle does) Also, search for "CQRS". Many of our friends that call themselves invested developpers (at our devLAB meetups) are talking in the web about it. Symfony 2 could be used to implement thise principles. Thats's our principal objective in software architecture. Hope this helps RENOIR BOULANGER // devLABmtl.org/ ConFoo.ca/ evocatio.com/ (envoyé de mon téléphone) ~ On 2011-11-08, at 4:59, Christopher Marsh <Christopher.Marsh at akqa.com> wrote: > All > > Does anyone have a recommendation for a book on producing well architected web applications in PHP? I've been producing .NET web applications for the past 10 years, but idiomatic PHP architecture may well be different to idiomatic .NET architecture. I'm thinking about things like data binding, data access, layering, service access, unit testing, integration testing, frameworks, &c. Any assistance gratefully received.