Este documento apresenta sobre programação orientada a aspectos (POA). Discute como a POA pode modularizar interesses transversais em unidades chamadas aspectos para lidar com desafios da programação orientada a objetos como espalhamento e emaranhamento de código. Explica os principais mecanismos da POA incluindo joinpoints, pointcuts, advices e inter-type declaration. Finalmente, discute como implementar POA na prática usando ferramentas como APDT para PHP.