Framework yani Türkçe adıyla yazılım çatısı demek aynı ortamda(web, desktop, mobil, vs.) birçok farklı uygulama geliştirmeye olanak veren bir yapıdır. Sen burada çalıştırmak üzere spesifik bir sql gömmüşsün. Ayrıca PDO kullanıyorsun PDO zaten MVC yapısının model kısmını üstlenmiş durumda view ve controller yazsan kurtarır. Ama tamamen sana ait bir Framework olmaz.

Tahminen Model diye bir class tan extends edip böyle bir class yazmışsın ve Model class ın db connect işlemini yapıyor.

Burada soyutlama derken

SELECT p.*,a.* FROM post as p, author as a WHERE p.author_id = a.author_id

direk çalıştırmıcaksın. Mesela table, cond, select, join, limit, value, attr, attr_type, vs gibi sql değişkenleri tanımlayıp bunları constant larla eşleştirip kullanacaksın ki senin model in her türlü sql i direk parametre vererek çalıştırabilsin. Ayrıca çok iyi bir validation ve error handling yapısı kurman gerekiyor.

Velasıl kelam benim basit bir php framework u yazmam 1 yılımı aldı. Kendi açından değerlendirip ne ölçüde ihtiyacın olduğuna bakıp karar verebilirsin.

Son olarak yazılım dünyasında kullanılan tüm altyapılar(embeded ve embeded a yakın yazılımlar hariç) design pattern larla oluşturulur.