Programlamadili.Net Yeni Nesil Programlama Portali
Makale Ara: 
Kullanıcı Adı : Şifre :
  • Makale Kategorileri
Anasayfa
ACPI [0]
Action Script [5]
Ajax [7]
ASP [12]
ASP.NET [23]
Assembly [3]
Bash [1]
C [4]
C# [9]
C++ [10]
Cobol [1]
Delphi [31]
Flash [5]
Html [9]
JAVA [36]
Java Script [12]
JSF [2]
Jsp [5]
Lua [1]
Matlab [2]
MySQL [30]
Oracle [1]
Pascal [31]
Perl [4]
Photoshop [2]
PHP [150]
Python [8]
REXX [6]
Ruby [1]
SEO [5]
Visual Basic [37]
  • Gorsel Ders Kategorileri
Asp [25]
Asp.Net [5]
Csharp [33]
Delphi [3]
Fireworks [4]
Flash [10]
Java Script [0]
Photoshop [0]
PHP [54]
Vb.Net [9]
Visual Basic [4]
  • Dil
English
Deutsch
deutsch
  • Reklam Alani
PHP / Smarty template motoru ve PHP
Smarty template motoru ve PHP
Yazar: FERDIKUCUK
Eklenme: 26/03/08    Okunma: 214    
 
 

Bu makalemde sizlere PHP için geliştirilmiş hızlı, kolay kullanılabilir ve öğrenilebilir bir tema motoru olan Smarty'i nasıl kuracağınızı ve kullanacağınızı anlatacağım.

Smarty kullanmak için ilk yapmanız gereken şey Smarty sitesindeki download kısmından Smarty'i bilgisayarınıza indirmek. İndirme işlemi bittikten sonra rar içerisindeki dosyaları bilgisayarınızda herhangi bir yere çıkartın ve çıkartılan klasör içerisindeki "libs" klasörünü sunucunuzun public_html yada windows bir hosting kullanıyorsanız httpdocs klasörüne gönderin ve adını "smarty" olarak değiştirin.

Daha sonra public_html ( Ben Linux sunucu kullandığımdan dolayı ona göre anlatıyorum, siz Windows kullanıyorsanız kendinize göre düzenliyebilirsiniz ) dizini altında "smartyrules" adında bir klasör oluşturun ve bu klasörün altında da 2 tane alt klasör oluşturun. Bu klasörlerin adları ise sırasıyla "html" ve "compile" olmalı, eğer Linux sunucu kullanıyorsanız bu klasörlerden "compile" klasörüne CHMOD değeri olarak 777 vermeniz gerekmekte, eğer Windows kullanıyorsanız böyle bir işleme gerek yok. Sonuç olarak oluşturduğunuz bu smartyrules klasörüne www.domain.com/smartyrules yazarak ulaşabilmelisiniz.

Merhaba Dünya

Yukarıdaki adımları başarı ile tamamlamış iseniz eğer, yaptıklarımınızın tam olarak çalışıp çalışmadığını öğrenmek için basit bir "Merhaba Dünya" uygulaması yapalım   ( Böyle yapınca sanki bilgisayar uzaylıymış gibi geliyor bana da neyse   )

Şimdi az önce oluşturduğumuz Smartyrules klasörüne geri dönelim ve burada "libs.inc.php" isimli bir dosya oluşturalım. Bu dosyanın içeriği ise aşağıdaki gibi olmalı

PHP:

 Kod Çizelgesi     Kod Dili: php
# Dosya Adı : libs.inc.php
 
$fixpath = dirname(__FILE__);
 


/* aşağıdaki "/home/username/smarty"   değerini kendinize göre düzenlemelisiniz   username yazan yere hosting kontrol panelinize girerken kullandığınız kullanıcı adınızı, smarty yazan yere ise libs klasörünü sunucuya attığınızda adını ne olarak değiştirdiyseniz onu vermelisiniz */

 Kod Çizelgesi     Kod Dili: php
define ("SMARTY_DIR", "/home/username/smarty/");
 
require_once (SMARTY_DIR."Smarty.class.php");
$smarty = new Smarty;
$smarty->compile_dir = "$fixpath/compile";
$smarty->template_dir = "$fixpath/html"; 



Dosyayı kaydettikten sonra yine "smartyrules" klasörünüz içerisinde "index.php" isimli bir dosya yaratın ve içerisine aşağıdaki kodları yazın

PHP:

 Kod Çizelgesi     Kod Dili: php
# dosya adı : index.php
require_once ("./libs.inc.php");
$smarty->display ("index.html"); 


Burada kullanmış olduğumuz önemli bir Smarty metodu var ki oda "display()". Bu metod sayesinde biraz önce yaratmış olduğumuz "html" dizini içerisinde bulunan dosyanın sayfamızda görüntülenmesini sağlıyoruz. "Eee, biz index.html dosyası yaratmadık ki? gibi bir soru gelirse aklınıza kafanızı yormayın okumaya devam edin :)"

Şimdi smartyrules klasörü içerisinde oluşturmuş olduğumuz html dizinine geçin ve burada "index.html" adıyla bir dosya oluşturun dosya içeriği ise aşağıdaki şekilde olmalı

HTML:
Bu Benim ilk Smarty sayfam.. Merhaba Dünya...

veee mutlu son   www.domain.com/smaryrules adresini tarayıcınıza yazdığınızda
"Bu Benim ilk Smarty sayfam.. Merhaba Dünya..." satırını görüyorsanız "Merhaba Dünya" uygulamasını başarı ile yapmışsınız demek..

İkinci örneğimizde bu sefer daha çok smarty'e yöneleceğiz şimdi az önce düzenlemiş olduğunuz index.php dosyasınıza geri dönün ve aşağıdaki kodları yazın

PHP:

 Kod Çizelgesi     Kod Dili: php
# dosya adı : index.php
require_once ("./libs.inc.php");
$smarty->assign ("name", "Gurkan OLUC");
$smarty->display ("index.html"); 



ve html dizininiz içerisindeki index.html dosyasını açıp içeriğini şu şekilde değiştirin

HTML:
Merhaba, {$name}
eğer www.domain.com/smartyrules adresini tarayıcınıza yazdığınızda "Merhaba, Gurkan OLUC" gibi bir çıktı ile karşılaştıysanız bu örneğide başarı ile tamamlamışsınız demektir
3. örneğimize geçmeden önce bu işlemleri yaparken kullandığımız smarty fonksiyonları ve ne işe yaradıkları hakkında biraz bilgi vermek istiyorum.

1. assign()

PHP:

 Kod Çizelgesi     Kod Dili: php
$smarty->assign("degisken_adi","degisken_degeri") 

Şeklinde bir kullanıma sahip olan bu fonksiyon, smarty ile göstereceğiniz sayfada bir değişken oluşturmanızı sağlar. Bu oluşturmuş olduğunuz değişkeni index.html sayfasında kullanmak ise oldukça basit

HTML:

 Kod Çizelgesi     Kod Dili: php
{$degisken_adi} 

şeklinde yazdığınız takdirde değişkene ait değer ekrana basılıyor.
2. display()

PHP:

 Kod Çizelgesi     Kod Dili: php
$smarty->display('gosterilecek_dosya') 

şeklinde kullanıma sahip olan ve yukarıda da bir miktar açıkladığım bu fonksiyon yardımı ilede html klasörümüz içersinde oluşturmuş olduğumuz dosyayı sayfamıza dahil ediyoruz, diğer bir değişle gösteriyoruz.

3. örneğimizde ise sadece bir değişkeni ekrana yazdırmayacağız. Bu sefer bir dizi değişken içindeki birden çok veriyi ekrana yazdıracağız buyrun kodlar ve açıklamaları

index.php

PHP:

 Kod Çizelgesi     Kod Dili: php
# dosya adı : index.php
require_once ("./libs.inc.php");
$friends = array("Mike", "Simpson", "Bill", "Torvald", "Paul", "John Doe");
$smarty->assign ("friends", $friends);
$smarty->display ("index.html"); 


index.html
Arkadaşlar:

HTML:

 Kod Çizelgesi     Kod Dili: php
{section name=i loop=$friends}
{$friends<i>}<br />
{/section} 


Bu örneğimizde ilk olarak $friends adında bir dizi değişken oluşturduk ve ve bu dizi değişkeni assign ile değişken olarak belledikten sonra index.html dosyamızı yükledik ancak bu sefer 2. örnekten farklı olarak $friends dizi değişkeni birden fazla değer içerdiği için onu döngü içinde ekrana yazdırdık.

Bu makaleden şimdilik bu kadar arkadaşlar. Smarty template engine ile ilgili daha gelişmiş bir rehber ararsanız size sevgili Onur abinin yazmış olduğu smarty rehberini önerebilirim. Kafanıza takılan soruları buradan sorabilirsiniz bilgim yettiğince yardımcı olmaya çalışırım.

Bir dahaki makalemde PHP ile veritabanına bağlandıktan sonra gelen verileri smarty içerisinde nasıl göstereceğimizden ve birkaç olaydan daha bahsedeceğim   Bir dahaki makaleye kadar kendinize ve sevdiklerinize iyi bakın

Saygılar,
Makale Sahibi : Gürkan OLUÇ


Taglar: PHP De ereg ve eregi soundex fonksiyonu - php 10 Dk da Php Site Yap 32-bit sifreleme algoritmasi array_count_values komutuna giris Array_map komutu ile devasa kolayliklar Baska Hosttan Sunucuya Dosya Yukleme Belirledigimiz Suredeki Verileri Listelemek charset & encoding problemleri COOKIE Tanimlama Bilgisi nedir ctype_alpha ve ctype_alnum Fonksiyonu Degisken Nedir Nasil Kullanilir Degiskenler Dizi Degiskenler, Tek ve Cok Boyutlu Diziler dowhile dongusu Dosya Kontrolleri Dosya konumu file Path ve konum ayristirma URL Parsing ffmpeg-php api dokumentasyon for dongusu foreach dongusu Formdan Bilgi Alma Get Methodu Ile Profil Sistemi Yapalim GZIP Kutuphanesi ile Daha Hizli Sayfalar Htaccess Ile Korumali Sayfalar Olusturmak htmlentities Fonksiyonu

Isminiz:
E-mail adresiniz:
Güvenlik Kodu:
  
 

 

Istatistikler ,
Sitemizde su anda 31 kategori, 453 makale , 147 görsel ders ve 141 Ziyaretci bulunmaktadir...
Toplam üye sayimiz : 951

Web Stats Ferdi Tayfur | Memur Muzaffer | Bedava Mp3 indirin | Visual Basic | Rss| Fnex.Net| Forum Dünyasi
Pagerank

Copyright © 2007 Programlamadili.net - Programlama & Tasarim: Recep Ikiz & Ferdi Küçük

| Site Haritasi |

"Ne Aradığını Bilmeyen Bulduğunun Farkına Varamaz "
ACPI Programlama dili, Action Script Programlama dili, Ajax Programlama dili, ASP Programlama dili, ASP.NET Programlama dili, Assembly Programlama dili, Bash Programlama dili, C Programlama dili, C# Programlama dili, C++ Programlama dili, Cobol Programlama dili, Delphi Programlama dili, Flash Programlama dili, Html Programlama dili, JAVA Programlama dili, Java Script Programlama dili, JSF Programlama dili, Jsp Programlama dili, Lua Programlama dili, Matlab Programlama dili, MySQL Programlama dili, Oracle Programlama dili, Pascal Programlama dili, Perl Programlama dili, Photoshop Programlama dili, PHP Programlama dili, Python Programlama dili, REXX Programlama dili, Ruby Programlama dili, SEO Programlama dili, Visual Basic Programlama dili,
Reklam alanı