• 20-07-2009, 23:11:59
    #1
    Üyeliği durduruldu
    Uzun süredir Smarty kullanıyorum ve smarty'i keşfetmeden önce "ah ulan ne zorlanıyomuşum" demiştim kendi kendime. İlk bölümümüzde smarty'nin yararları ve smarty ile basit web sayfası yapmayı öğrenicez.
    1-) Smarty'nin Yararları (Neden smarty kullanmalıyım)
    • HTML ve PHP dosyalarınız birbirinden ayrı olduğu için karma karışık kodlardan kurtulup düzenli bir kodlamaya geçebilirsiniz.
    • Sistemlerinize kolayca tema ve dil sistemi yapabilirsiniz.
    • Eğer bir tasarımcısınız varsa sadece html dosyaları üstünde çalışarak hata riskini azaltırsınız.
    • Kendine ait cache sistemi ile ayrı bir cache sistemi kodlamanıza gerek kalmaz.
    • Ayrıca ingilizce sitesinden daha fazla bilgi edinebilirsiniz. Smarty : Why Use Smarty
    2-) Smarty'yi scriptlerimde nasıl kullanıcam?
    • Smarty'nin son sürümünü Smarty : Downloads bu adresten indiriniz.
    • ZIP dosyasını açtığınızda dosyaları görüyorsunuz. "libs/" klasörünü sitenizin istediğiniz bir dizinine kaydedin.
    • "templates, templates_c, cache, configs" adlarında 4 tane klasör oluşturunuz. Ben smarty/ klasörü altına oluşturdum. Daha sonra aşağıdaki php kodlarını sitenizin en üstüne yapıştırın. Böylece smarty'i çalıştırmış olucaz.
    <?php
    require('libs/Smarty.class.php');
    $smarty = new Smarty();
    $smarty->template_dir = '/smarty/templates';
    $smarty->compile_dir = '/smarty/templates_c';
    $smarty->cache_dir = '/smarty/cache';
    $smarty->config_dir = '/smarty/configs';
    ?>
    Şimdi geldik nasıl kullanıcamıza...
    Klasör yapımıza bir göz atalım..
    smarty/templates
    smarty/templates_c
    smarty/cache
    smarty/configs
    smarty/templates/index.html (genelde .tpl kullanılıyor ancak ben .html kullanırım tavsiyede ederim. )
    index.php
    Tema dosyalarınız templates/ klasöründe olmasına dikkat ediniz. Şimdi öncelikle "index.php" dosyamız şu şekilde olsun.
    <?php
    require('libs/Smarty.class.php');
    $smarty = new Smarty();
    $smarty->template_dir = '/smarty/templates';
    $smarty->compile_dir = '/smarty/templates_c';
    $smarty->cache_dir = '/smarty/cache';
    $smarty->config_dir = '/smarty/configs';
    $smarty->assign('merhaba_yazisi','Hoşgeldiniz! İlk Smarty denememiz');
    $smarty->display('index.html');
    ?>
    index.html sayfamız
    <font color="green">{$merhaba_yazisi}</font>
    Bu işlemler sonucu scriptimizi çalıştırırsak yeşil yazı ile "Hoşgeldiniz! İlk Smarty denememiz" yazısını görebilirsiniz.
    $smarty->assign('deger','deger içeriği'); şeklinde php kodlarımız oldugu sayfada tanımlıyoruz.
    $smarty->display('index.html'); burda html dosyamızı belirtiyoruz.
    Makale tamamen bana ait olup R10 için yazılmıştır. Sorularınızı bu başlık altında cevaplayabilirim. Bölüm 2'i için takipde kalın =)
  • 20-07-2009, 23:17:52
    #2
    Yeşil SEO İnt. Hiz.
    smarty ne işe yarıyor...
    cache için mi acaba =?
  • 20-07-2009, 23:18:31
    #3
    Üyeliği durduruldu
    yarin bu konu hakkında bi başlık açıcaktım kısmet degilmiş kolay gelsin teşekkürler
  • 20-07-2009, 23:18:48
    #4
    Üyeliği durduruldu
    staticiation adlı üyeden alıntı: mesajı görüntüle
    smarty ne işe yarıyor...
    cache için mi acaba =?
    1-) Smarty'nin Yararları (Neden smarty kullanmalıyım)
    HTML ve PHP dosyalarınız birbirinden ayrı olduğu için karma karışık kodlardan kurtulup düzenli bir kodlamaya geçebilirsiniz.
    Sistemlerinize kolayca tema ve dil sistemi yapabilirsiniz.
    Eğer bir tasarımcısınız varsa sadece html dosyaları üstünde çalışarak hata riskini azaltırsınız.
    Kendine ait cache sistemi ile ayrı bir cache sistemi kodlamanıza gerek kalmaz.
    Ayrıca ingilizce sitesinden daha fazla bilgi edinebilirsiniz. Smarty : Why Use Smarty

    LoverzSoft adlı üyeden alıntı: mesajı görüntüle
    yarin bu konu hakkında bi başlık açıcaktım kısmet degilmiş kolay gelsin teşekkürler
    Bu konu altına eklersen daha güzel olur =) Atlamış oldugum noktalar veya unuttuklarım olabilir. Maksat herkes öğrensin
  • 20-07-2009, 23:19:13
    #5
    Üyeliği durduruldu
    staticiation adlı üyeden alıntı: mesajı görüntüle
    smarty ne işe yarıyor...
    cache için mi acaba =?
    template sınıfı Smarty : Template Engine
  • 20-07-2009, 23:20:06
    #6
    Üyeliği durduruldu
    Cache mekanizması barındıran, bir tasarım motoru.
    Html ile php kodlarını ayırır. Böylece okuması kolaylaşır.
  • 20-07-2009, 23:29:22
    #7
    Üyeliği durduruldu
    Smarty FOREACH döngüsü scriptlerin olmazsa olmazları while döngüleri smartyde malesef while yok fakat foreach ilede aynı işlevi görüyor

    $veri = mysql_query("select * from uyeler limit 20");
    while($row=mysql_fetch_array($veri)):
    $yaz[] = $row;
    //$row degişkenini yaz dizi degişkenine aktardık
    endwhile;
    
    $smarty->assign("uyeler",$yaz);
    ---------------template dosyamız---------------------

    {foreach from=$uyeler item=uye}
    Üye adı : {$uye.kullanici_adi}<br>
    {/foreach}
  • 20-07-2009, 23:33:07
    #8
    Üyeliği durduruldu
    Smarty dizi kullanımı

    $degiskenler =array("1" => "birinci","2" => "ikinci","3" =>"üçüncü");
    
    $smarty->assign("degisken",$degiskenler);
    ----------------------------tema dosyamız----------------------------
    merhaba bu sayı {$degisken.1}
    php olaraksa şu oluyor $data["1"] e eşit geliyor {$degisken.1} ise smarty kullanımı
  • 20-07-2009, 23:39:40
    #9
    Üyeliği durduruldu
    smarty if kontrolü


    Php kullanımı

    $x=0;
    
    if($x==0):
    echo 'eşit';
    else:
    echo 'eşit degil';
    endif;
    smarty kullanımı ise php olarak şu şekil

    $x=0;
    
    $smarty->assign("x",$x);

    -------------------template dosyamız

    {if $x eq '0'}
    eşit
    {else}
    eşit degil
    {/if}

    eq komutu == i ifade eder daha fazla bilgi için

    Smarty