Selamlar,
Not: PHP 4 aydır öğreniyorum. Temel yazlım kavramlarından pek haberim yoktur.
Aranıza yeni katıldım. İlk öğrendiğim dil PHP'ydi. İlk öğreneceğim framework'da Laravel olacak, bir kaza bela olmaz ise. Sınıflara aşinayım. Laravel'i kurcalarken de NYP bilgimin kullanacak kadar yeterli olacağı kanısına vardım. Soyutlama, kalıtım, arayüzlerden sihirli yöntemler vb.. konulardan haberim var.
Ama MVC'yi pratik anlamda kullanmak pek nasip olmadı. Şuana kadar sadece view kısımları ayrı bir sınıf olarak yazıyordum. Denetleyici ve veritabanını ise tek bir sınıf olarak yazıyordum. Ama MVC'de 3 faklı yapı var. Saymaya gerek yok.
Laravel'i kullanmakdaki amacım, projelerimin hızlı bitmesini sağlamak. Herşeyi sıfırdan yazıyım hevesim artık kalmadı. Çünkü akıl işi değil. Milyon dolarlık site projelerim de yok. Gerek yok yani kasmaya..
Neyse
Laravel'de Views kısmını blade ile hallediyoruz. Bir kaç deneme yaptım genel mantığını çözdüm. Müthiş kolaylık ve esneklik sağlayan bir yapısı var. Şaşırttı beni. Route sınıfı örnekleri yaptım. Onunda mantığını aşağı yukarı çözdüm. Veritabanından veri almak zaten laravel ile çocuk oyuncağı olmuş.
MVC kavramı kafama tam oturmadığı için bir kaç şey soracam.
Veritabanında bir kullanıcı tablom var. Bu tabloyu laravel ile kolaylık okuyup yönlendirdiğim sayfada basitçe görüntüleyebildim.
Yukarıdaki sayfa yönlendirdiğim
www.siteadresi.com/users'da görüntüleniyor. Buraya kadar sorun yok.
Kullanıcıları bir tabloda görütüleyebilmem için veritabanınadaki verileri kullanarak dinamik html tablosu oluşturmalıyım. Daha önce kendi yöntemlerimle oluşturduğum kullanıcı tablosu gibi.
Şimdi kullanıcı verilerini Users sınıfından aldıktan sonra, MVC kurallarına göre bir "dinamik html tablosu" oluşturmak için controller mı yazmam gerekiyor. Yoksa bir model yazmalıyım. Şuana kadar okuduklarımdan anladığım kadarıyla controller yazmalıyım. Çünkü Model sınıfları veritabındaki veriyi okumak, güncellemek, değiştirme ve silmek için kullanılıyor.
Bu aşamada MVC'yi doğru mu anlamışım.
Laravel ile temiz düzenli bir kod alışkanlığına kavuşmaya çalışıyorum.
İlk kodlamaya başladığım böyle kodlar yazıyordum:
http://pastie.org/9146851 ilk ciddi web uygulamam, konteynır hesaplama
http://pastie.org/9146854 Son zamanlarda yazdığım bir sınıf örneği
Bu kodları neden paylaştım diye sorarsınız, cevabım şöyle olur.
Programlada en kısa zamanda becebildiğim ölçüde ustalaşmak istiyorum. Bunun çabalıyorum. Önerilerinize ihtiyacım var. Paylaştıklarım ile de samimiyetimi ifade etmeye çalıştım.