İlginç bir yazı dizisinin ilk bölümünü okumaktasınız. Yazının başlığı sanırım konuyu yeterince özetliyor. “Eğer kendi günlük sistemimi/betiğimi (script) yazmak isteseydim nereden başlar, hangi aşamaları takip ederdim?” gibi soruları cevaplamaya çalışacağım. Böyle bir makale ile programcı arkadaşlara ticari veya kişisel bir içerik yönetim sistemi (İYS) yazılırken nasıl bir yol izlenmesi gerektiği konusunda fikir vermeyi planlıyorum. Umarım faydası dokunur.
Öncelikle günlüğümüze bir isim seçmeliyiz. Böylece klasör isminden tutun da veritabanı tablolarını oluşturmaya kadar bu isim çerçevesinde hareket edebiliriz. Burada oluşturduğumuzu varsaydığımız günlüğe YGünlük ismini verdim.
Bir projeye başlamadan önce projenin kapsamı mutlaka belirlenmelidir. Böylece gelişim aşamasında yoldan şaşmalar olmaz ve hep amaca yönelik çalışırsınız. Aksi takdirde bir anda kendinizi gereksiz detaylara boğulmuş bir şekilde bulabilirsiniz. YGünlük’ü ilk aşamada oldukça basit yeteneklerle sınırlayalım. Ne de olsa amacımız gidilecek yolu belirlemek. Önce ana yapıyı tamamlarsak ardından dilediğimiz gibi geliştirebilir, yeni özellikler katabiliriz.
Bu söylediklerim kapsamında düşünürsek YGünlük belirli bir tasarıma sahip olsun ve tema desteği bulunmasın diyorum. Hatta bununla birlikte eklenti olayını da düşünmeyelim (şimdilik). Bir de en önemli kısıtlamalardan birisi olarak üyelik sistemi bulundurmayalım. Sadece bir yönetici olsun ve herkes yorum yapabilsin. Oldukça basite indirgediğimiz YGünlük’ün özelliklerini bir liste haline getirisek;
İlk bakışta size oldukça sade ve gereksiz gibi gelebilir ama konuya sıfırdan başlamak lazım. Temelini anlarsanız dilediğiniz gibi bir içerik yönetim sistemi yazabilirsiniz.
Önce günlüğümüzün dizin yapısını oluşturacak ve ardından içini dosyalarımızla doldurmaya başlayacağız. Dizini şu şekilde düşünelim;
Ana klasör
ygunluk : Bütün sistemimizi içeren klasör.
Alt klasörler
panel: Yönetim panelimizin bulunacağı klasör.
bilesenler: Günlüğümüzü oluştururken kullanacağımız betik kütüphane ve fonksiyon dosyalarının bulunacağı klasör.
ekdosyalar: Yazılarımız içinde okuyucularımızla paylaşmak istediğimiz dosyaları yükleyeceğimiz klasör.
ekresimler: Yazılarımız içinde okuyucularımızla paylaşmak istediğimiz resimleri yükleyeceğimiz klasör.
resimler: Sistemin tasarımı için gerekli resimlerin yükleneceği klasör.

Sistemimizi oluştururken bazı temel fonksiyon dosyalarımız olacaktır. Bununla birlikte programcılar tarafından kabul görmüş, işlerimizi hızlandıracak, sistemimizi güçlendirecek bir takım hazır kütüphanelerden/betiklerden faydalanacağız. İşte bu tür dosyaları bilesenler klasöründe tutacağız. Bu klasör sürekli güncellenecektir çünkü proje sırasında yeni fonksiyonlar yazdığımızda yine bilesenler klasörüne koyacağız. Bilesenler klasörü için ilk aklıma gelenler dosyalar şöyle;
Bileşenlerimizi toparladığımızda bilesenler klasörümüzün şu şekli aldığını görebiliriz.

Not: Sizin de eklemek istediğiniz ve tavsiye edebileceğiniz bileşenler varsa lütfen yorumunuzda belirtiniz. Önermiş olduğunuz fonksiyonların isimlerini makaleye ve dosyaları en sonda paylaşmış olduğum dosyalar ekleyeceğim. Yukarıdaki resmi malesef hemen değiştirmeyeceğim çünkü malum zahmetli bir olay.
Sizi uzun yazılarla sıkmak istemiyorum. Bu nedenle Kendi Günlüğünü Kendin Yaz yazı serisinin ilk bölümünü burada sonlandıralım ve şuana kadar yaptıklarımızı özetleyelim.
Her programcının kendine göre bir ilerleme yöntemi vardır. Benimki yukardaki şablonu oturttuktan sonra yönetim panelinden devam etmektir. Bu nedenle bir sonraki yazıda yönetim panelini oluşturmayı anlatacağım.
Yazıda oluşturmuş olduğum ygunluk dizinini buradan indirebilirsiniz.
Gelecek yazıda görüşmek üzere…
Not: Bu yazıma vereceğiniz yorumlar çok önemli. Gözümden kaçan hususlar olabilir. Ayrıca yeni fikirlerle YGünlük‘ü daha sağlam hale getirebiliriz. Eğer bir güncelleme yaparsam yazının en üstünde bunu duyururum.
Not 2: Sistemi yazmak için gerekli programları konusunda buradaki yazıma bakabilirsiniz.
Sayfalar: « 3 [2] 1 » Hepsini Göster
Sayfalar: « 3 [2] 1 » Hepsini Göster

yakuter.com © 2006-2008 Erhan Yakut. Site tasarım fallendesign.
Site içerisindeki içerikler izinsiz kopyalanamaz, alıntı yapılamaz.
20 Sırrı
28 Temmuz 2008, 13:50
Yakuter bu güzel yazının devamını bekliyorum.
Bende kendi günlük sistemimi yazıyorum keşke önceden görseydim ama geç kaldım.Diğer serilerini de merakla okuyacağım.
19 Bülent Güneş
18 Temmuz 2008, 14:55
İlgi ile takip ediyorum hocam..
18 Ali Rıza Babaoğlan
14 Temmuz 2008, 22:35
Eline sağlık. Hep birlikte bir girişim topluluğu oluşturup toplu bir geliştirme yapılabilir Sourceforge üzerinde :)
17 Berat
14 Temmuz 2008, 12:26
eline sağlık yakuter güzel bi anlatım olmuş. Bundan sonraki yazının konusu veri tabanı ilişkileri üzerine olacakdır büyük ihtimal :)
hazır scriptleri bizim yazıp, desteklememiz gerektiğini düşünüyorum.. hazır scriptler kimi zaman bizi tembelleştiriyor..
16 Erdem Çorapçıoğlu
14 Temmuz 2008, 06:53
Sanırım en kısa sürede yarım bıraktığım İYS’mi bitirmek için çalışmalara başlamam gerekiyor …
Bu tip bir yazı serisi ile de çalışmalarını paylaşıyor olacağım.
Güzel çalışma eline sağlık :)
15 Enes
11 Temmuz 2008, 12:33
Devamını Merakla beklediğim Yazı dizisi…
Lütfen bir an önce devam edelim :)
Ellerinize Sağlık & Kolay Gelsin
Enes…
14 zlm
09 Temmuz 2008, 21:44
hadi yakuter aslansın. kır şu wordpress zulmünü. :)
13 eburhan
09 Temmuz 2008, 21:02
Merhaba Erhan.
Güvenlik adına bir önerim olacak. Kullanıcı girdilerini kontrol etmek için ve XSS gibi açıklara kolayca yakalanmamak için HTML Purifier kullanabilirsin.
Bir de spam yorumları azaltmak için PHP5 Akismet tercih edebilirsin ;)
Kolay gelsin.
12 NeTHaLiL
09 Temmuz 2008, 20:48
Ben daha ne diyeyim ya! Nedense ne zaman aklıma birşey gelse acaba Erhan bey yazmışmıdır diye baksam yazıyor.Kalbimi okuyor ne? Sizden çok şey öğrendik bu siteyle çok şeye başladım yine devam ediyorum ve edecem de.Yazının devamını da bekliyorum,henüz uygulama fırsatım olmadı yarın sabah bakıcam artık.Teşekkürler tekrar..
11 bilginyoksa
09 Temmuz 2008, 14:43
bence de güzel bir yazı dizisi olacak gibi haydi hayırlısı.