Sitelerin kod düzeni nasıl olmalı?

Bir sitenin kod düzeni nasıl olmalı?

Bir php site projesinin üretim sırasıÖncelikle sitedeki herşeyimiz bir php dosyası olarak kodlanmalı. Statik sayfalar için bile bir genelleme yaparak daha az kod daha az efor ile daha rahat bir çalışma çıkarabiliriz. Öncelikli düşünmemiz gereken şey dizin yapımızdır.Verilerimizle kodlarımızı kesinlikle ayırmamız gerekir. Mesela sitemizde dosyalar ve fotograflar diye iki bölümümüz olacak. Bunlara ait dosyaları kesinlikle kod ile karmaşık dizinlere koymayız. Veri adlı bir dizinimizin alt dizinlerine yerleştirebiliriz mesela.Bu neden gereklidir?Çünkü kodlardaki değişimleri HIZLI yükleyip yedeklerini alabilmek için tüm site dizinimizi upload edip download etmemize gerek kalmaz. Toplam 1mb olan kodu güncellemek için 30mb olan tüm site dosyalarının transferi için zaman kaybetmemiş oluruz.2. düşüneceğimiz şey ise tasarımı nasıl şekillendireceğimizdir. Yani, her sayfada sabit olan kısımlarımız vardır. Ve değişken kısımlarımız. Mesela bu site için düşünürsek, üstteki menü, sol sütun ve alt kısım her sayfada mevcuttur.Ben ilk başladığımda sabit şu dizinleri oluştururum;

Site

 |

 |- resimler

 |- moduller

 |- islem

 |

 "--- index.php

   |- stil.php

   "- ayar.php

Bu yapının önemini dökümanın sonuna doğru anlayacaksınız. Şimdi ön açıklamaları yapayım;Sitenizdeki bütün resimleri yani materyal olan resimleri resim adlı dizinde alt dizinler içerisinde tutmanızı öneririm. Mesela bölümlerdeki farklı resimleri resim dizininde o bölümle ilgili dizin içerisinde saklayın. Böylece resimlerinizi ileriki sürümlerinizde daha rahat takip eder/yönetebilirsiniz.Ayar dosyasının önemi!Bir php projesi için ayar dosyasında her türlü site detayları mevcuttur. Hanig sayfada ne kadar limitle listeleme yapılacağıi mysql ayarlarınız, izin ayarlarınız, veri dizin yollarınız. Çok genişletilebilecek ayarlar mevcuttur. stil.php neden php?Tarayıcılara göre farklı css öznitelikler mevcuttur. Birinde transparanlığı opacity:.5; ile diğerinde filter:alpha(opacity:50); ile yapıyor olabilirsiniz. Bu kısımlarda php devreye girebilir. stip.php TOPLAM yaklaşık 50-100kb olabilir. Ama kullanılmayacak bir bölüme ait class"ların her sayfada yüklenmesini engellemek için stip.php"de php ile kontorller yaparak get methodu ile değişken bir stil dosyası çağırtılabilir. Böylece 50-100kb olan stil dosyası her seferde bu boyutta yeniden yüklenmez, 5-10kb"a kadar iner. Arada çok büyük tasarruf yapılmış olur. modul mantığı nedir?Sitemizde farklı bölümlerde farklı php görevlerimiz olacaktır değil mi?, şimdi şöyle düşünün, bütün sayfalar sitenin değişken bir noktasına uygun HTML kod üretir. Bütün projelerde sistem böyle çalışır. Genellikle benim anlattığım sistemin tersi uygulanır ve her php sayfasında menu.php footer.php"ler yüklenir. Boylece değişken kısım farklılığa göre yüklenmez, her sayfa kendi işini yapar ve statik kısımları çağırır. Benim bahsettiğim sistemde ise şöyledir. Bütün site index.php üzerinde oynar. get methodu ile module adlı bir değişken alalım her linkte. bu değişkenin içeriğine ait modulu seçen bir dosyamız vardır. Ya da bu kısım index.php"nin içinde de mevcut olabilir. Örneğime göre dosyalar, galeri, dokumanlar diye 3 bölümümüz olsun. Bir de anasayfaya ait kodu üreten bir modülümüz olacak tabiki. index.php"de şu kısım olmalı mesela;

  $modul = $_GET["modul"];# modul secme mekanizmasi  if( $modul == "dosyalar" ){    $modul_dosyasi = "dosyalar.php";  }else if( $modul == "galeri" ){    $modul_dosyasi = "galeri.php";  }else if( $modul == "dokumanlar" ){    $modul_dosyasi = "dokumanlar.php";  }else){    // eger modul belirtilmemisse veya    // gecersizse anasayfa modulu yuklensin.    $modul_dosyasi = "anasayfa.php";  }

Şimdi menüdeki linkleri buna göre düzenlemeliyiz. Dosyalarindex.php?module=dosyalarGaleriindex.php?module=galeriDökümanlarindex.php?module=dokumanlarArtık modul_dosyasi değişkeni seçili modülü belirlemektedir.Şimdi şöyle düşünelim. Diyelim ki BASİT bir tablo içeriyor bir bölümünüz. Mesela örneğe göre olan dosyalar bölümünde basit bir liste var.Şimdi burada dosyalar.php modülü sadece bu basit olan tabloyu print ettiriyor.biz index.php"de print ettirilen bu tabloyu ortaya yerleştiriyoruz. Sistem bu şekilde işliyor.Siz statik bir sayfa yapmışsanız bile bunu modül dosyası olarak tanıtıyorsunuz ve modül seçildiğinde basılması gereken yere statik içerik basılıyor.Bunun avantajları neler?Modül dosyaları asıl dosyalardan bağımsız yazıldığı için kod kalabalığı olmuyor. Yani 1000 satırlık tek dosyada çalışmakla 10"ar satırlık 100 dosyada çalışmak gibi.. Siz dosyalar modülünü yazarken dosyalar modülü dosyasında sadece o işi yapan kod bulunuyor. Ekrana basarken çok fazla şey düşünerek basmıyorsunuz. İş basitleşiyor.Sitenizin statik kısımlarında yapacağınız değişimler sizin için çocuk oyuncağı olmuş oluyor. Yaptığınız yeni bir eklentiyi, mesela footer"ınıza yerleştireceğiniz bir banner exchange kodunu index.php"nizde oynayarak rahatlıkla işin içinden sıyrılabiliyorsunuz.Bölümler $module değişkeni ile kolaylıkla da seçilebiliyor. bölümleriniz çoğaldıkça bu sistemin artılarını daha rahat görebiliyorsunuz :)Ben şu an mfyz.com"da mükemmel rahat ediyorum. Çok rahat siteye entegre şeyler yazıp bölümleri değiştirebiliyorum.Mesela yeni bir kod buldunuz ve dosyalar bölümünü bu şekilde yapmak istiyorsunuz, yapacağınız şey css"leri ile oynayıp modul olarak tanıtmanız, bu kadar.

Grafik Web Tasarım Grup

Döküman Arama

Başlık :

Kapat