Een framework is een applicatie ontwikkelomgeving. Aan de serverkant zijn dat bijvoorbeeld Laravel, Kohana, WordPress, Drupal. Aan de clientkant is de bekendste jQuery. Binnen deze omgeving zijn veel voorkomende taken al binnen het framework geregeld, zoals database connectiviteit, logging, gebruikersbeheer, e-mailfunctionaliteit enz. enz. Verder biedt het de mogelijkheid om functionaliteit uit te breiden met modules en plugins.
De meeste PHP frameworks werken volgens het MVC principe. Dit staat voor Model View Controller en is een manier van software ontwerpen waarbij het datamodel (model), de datapresentatie (view) en de applicatielogica (controller) uit elkaar getrokken zijn. Daardoor kun je makkelijker modulair werken: als de vormgeving niet bevalt of aanpassing behoeft hoef je niet de hele applicatie te herbouwen, maar alleen de views. Bij CMS-en als WordPress en Drupal zie je een soortgelijke opbouw. Ook hier is er een framework met ingebakken taken als gebruikersbeheer, database connectie enz. Modules/plugins en themes zijn makkelijk binnen het framework toe te voegen om functionaliteit en uitvoer uit te breiden. In een ontwikkelteam heeft het als voordeel dat je het team op kan splitsen zodat programmeurs en designers min of meer onafhankelijk van elkaar datgene kunnen doen waar ze goed in zijn.
Voor maatwerk heeft Laravel mijn voorkeur. Voor websites WordPress.