OOP kavramı "Object Oriented Programming" kavramının kısaltması ile oluşmuştur. Türkçe'de ise bu kavram "Nesne Yöntelimli / Tabanlı Programlama" olarak bilinmektedir. Nesne yönelimli programlama, programlama dillerinin en popüler kavramlarından biridir. Günümüz web teknolojilerinde ise artık tamamen nesne yönelimli programlama gerektiren yapıların kullanımını gerekmektedir. Kendi niteliklerini ve davranışlarını taşıyan yeniden kullanılabilir nesneler olarak gruplandırılır. OOP, kodlarımıza davranışlara ve niteliklere dayalı olarak gruplandırma ve daha iyi yeniden kullanılabilirlik için düzenleme gibi nitelikler kazandırmaktadır. OOP sadece PHP'nin değil diğer tüm programlama dillerininde en önemli etaplarından biridir. Programlamaya yeni başlamış veya başlayacak kişilerin temel programlama eğitimini aldıktan sonra bu yapıya mutlaka adapte olmaya çalışmaları gerekmektedir.
# Kimler İçin
● Temel programlama konularına hakim kişiler.
# Neden Öğrenmeliyim?
Nesne Yöntemli Programlama'nın en önemli görevi bir işi yapan bir kodun bir kereye mahsus yazılmasıdır. Bu ne demektir? Çeşitli web projeleri geliştirirken her bir yeni projede diğer projelerde olduğu gibi kullanılan ortak kod yapıları tasarlanır. Mesela veritabanı bağlantı ayarları. Geliştirdiğiniz projeler veritabanı kullanıyorsa bu projelerin her birinde mutlaka veritabanı bağlantı ayarlarını içeren fonksiyonlar kullanılır. OOP konusuna hakim olmayan kullanıcılar bu tip bağlantı ayarlarını genellikle baglan.php gibi bir dosyada tutup bu dosyayı ilgili projeye dahil ederek kullanır. Ancak bu çok kullanışlı bir yöntem değildir. Çünkü ortak kodlar sadece baglan.php dosyasından ibaret değildir. Farklı görevleri gören kodların derlenip bir araya getirilerek kümelenmeleri gerekir. Özellikle geliştireceğiniz kodların dokümante edilmesi gereken büyük projeler geliştirdiğiniz de baglan.php gibi dosyalarla kodların dahil edilmesi yetersiz gelmeye başlayacaktır. Ve en önemlisi de yazılan bir projejenin yaşam döngüsünün sağlanmasında büyük zorluklar yaşanacaktır. Bir proje sürecinde yazılımda görev alan kişilerin değişmesi durumunda projenin kaldığı yerden devam edebilmesi zaman ve maddi açıdan oldukça kritik öneme sahiptir. Bu aksaklıkların yaşanmaması, kodların kümelenebilmesi ve dokümante edilebilmesi ve en önemlisi proje yaşam döngüsünün sağlanması için devreye "Nesne Yönemli Programlama" girer.
Kısaca şu nedenler OOP öğrenmeniz için yeterlidir;
● Her bir kodun bir kez yazılması.
● Benzer fonksiyonların kümelenip daha kullanışlı hale getirilmesi.
● Zaman içerisinde gelişen kod kütüphanelerin oluşması.
● Yazılan her bir kodun dokümante edilebilmesi
● Yazdığınız kodlarınızın açık kaynak kodlu olarak farklı kullanıcılarında ihtiyaçlarını karşılaması.
● Daha az kodla daha fazla işin yapılması.
● Projelerin kod çöplüğüne dönmesinin engellenmesi.
● Proje yaşam döngüsünün sağlanması.
● Frameworklerin kullanılabilmesi.
# Frameworkler
Günümüzde daha kısa sürede gelişmiş projeler ortaya koyabilmek için PHP frameworkler tercih edilmektedir. Özellikle ihtiyacınız olabilecek bir çok yapının frameworkler tarafından oluşturulmuş olması framework kullanımını daha cezbedici hale getirmektedir. Hangi framework'ü tercih ederseniz edin Nesne Yönelimli Programlama konularına temel düzeyde vakıf olmanız gerekmektedir. Bu durum kısmen ZN Framework içinde geçerlidir. ZN Framework kullanabilmek için belli seviyede OOP bilgisine ihtiyaç vardır. Bu eğitimlerimizin temel amacı da özellikle ZN Framework öğrenmek isteyenlerin zorlanmadan uyum sağlayıp kısa sürede proje geliştirmeye başlamalarını sağlamaktır.