Konuları görünce buraya bir takım ekler yapmak istedim. Tabi bu konuda konu sahibinin iyi niyetine sığınıyorum.

Abstract, interface, trait vb. yapıları kullanırken bunlar tipik fonksiyon gibi kullanmaktan öte işe yarasın diyorsanız type hinting ( tür dayatma ) özelliğini öğrenmenizi tavsiye ederim. Bunu öğrendikten sonra anonymous functions nedir öğrenin derim. Sonrasında SOLID ilkelerine bir göz atın. Orada bir takım OOP tekniklerini göreceksiniz. Devamında depedency injection nedir anlayın ve bunu soliddeki dependency inversion ile birleştirene kadar kod yazıp araştırın derim. Yoksa burada öğrendiklerinizle gerçekten OOP yazamaz, OOD yapmanın önemini anlamaz, unit test mantığını yani test driven development işini anlayamazsınız. Bunları da anladıktan sonra acceptance test ve functional test nedir öğrenirseniz document driven development teorisi ile ciddi yazılım nasıl geliştirilir anlayabilirsiniz. Tabi daha ilerde MVC'den vazgeçip DCI nedir diye de merak edeceksiniz. O konuda da her yerde söylendiği gibi Martin Fowler blogunu takip edebilirsiniz.

Bu işleri de codeIgniter ile yapmanızı tavsiye etmem. CodeIgniter veya bu konuları biliyorsanız Laravel kullanın. Laravel biliyorsanız Symfony ve Silex'e mutlaka göz atın. Symfony ve Silex de biliyorum çok canım sıkılıyor TR sınırlarını aşayım diyorsanız FLOW bakının. Onu da çözdüm napacağım diyorsanız PHP reposu katkılarınızı bekler.

Şu an çabaladığım şeyleri paylaşmak istedim, herkese iyi çalışmalar