Smarty ile çalışmak

Bu yazımda sizlere yaz tatilimde yani yaklaşık 2 haftalık bir sürede kullandığım Smarty’nin olumlu yanlarından bahsetmek istiyorum. Aslında yazı başlığını bir framework ile çalışmak olarak da değiştirebiliriz.

Öncelikle Smarty’nin ne olduğundan biraz bahsedeyim. Smarty, gayet esnek bir template çatısıdır. PHP kodları ile html kodlarını birbirinden ayırır. Tabii ki bu ayırma işlemi “photoshoptan tasarımı htmle dökeyim smartye atayım site canavar gibi çalışsın” şeklinde değil. PHP kodlarınızı oluşturduktan sonra elde ettiğiniz değerleri Smartye gönderiyorsunuz. Html kodları içine PHP kodları değil de Smartye gönderilmiş bu değerlerin Smarty dilinde htmlin içine yazıyorsunuz.

Heey! Smarty dili dediysek “işimiz gücümüz yok yeni bir dil mi öğreneceğiz yahu” diyerekten korkmayın hemen. Herşey çok basit. Bir dökümantasyonu var ki bir kere gözden geçirdiğinizde dilin tüm yapısını öğrenebilirsiniz hemen. Bak yine dil dedim :) Yok öyle birşey. Bir başkasının hazırladığı bir sınıf kullandığınızda yine o sınıfın nasıl kullanıldığını öğrenmeniz gerekiyor. Forumlarda göreceğiniz Smarty dili denen o şey bir sınıfın kullanılışından başka birşey değil bence. Dezavantajı çook gelişmiş olması. Peki avantajı nedir derseniz tasarımcınızın yazılım dili bilmesine gerek yok. Siz Smartye değerleri gönderirsiniz o da onları yazdırır bu kadar basit :)

Ne gereği var diyebilirsiniz belki. Öncelikle ne gereği olduğuna sizin karar vermeniz gerekiyor. Hemen geçtiğimiz iki haftada yaşadığım tecrübelerime başvurayım ve sizlere aktarayım.

Her siteye uyabilecek dinamik bir yönetim paneli yaptım. E tabi bunun için dinamik bir önyüz yapmak gerekiyordu. Smartyi daha duymuştum hemen incelemeye aldım. Başta ceviz.net forumlarını kurcaladım. Daha sonra blog yazıları takip ettim, ingilizce incelemeler okudum. Burada İngilizceninde önemine dikkat çekiyorum :P Ardından Smartyi bir denemeye karar verdim. Başlarda biraz zorlandım. Ama bu zorlanma çok uzun sürmedi :) Html’i verilmiş bir önyüzün Php kodlamaları ve smarty entegrasyonu 5 günde bitti. Bu zamanın bir çoğunu ince ayarlara ve php kodlamasına harcadım. Bir sonraki site kaç günde bitti dersiniz? 1 gün :) Normal php+html kodlama yapsaydım kaç günde biterdi? Tahminen yine 1 günde :)

Ama olay ne kadar sürede bitirildiğinde değil aslında çok fazla. Biraz daha temiz kod yazmayla ilgili. Ben kendimi biliyorum, eğer sadece php+html yazsaydım php kodlarımın içinde echo ile html kodları verecektim :) Buda okunurluğu zorlaştırıcaktı. Bu şekilde gerçekten daha iyi iş yaptığımı hissettim, belki de o kadar kullandım bi işe yaramamış olamaz psikolojisiyle söylüyorum bunu, bilmiyorum :) Sanırsam Smarty’nin gerekliliğinden daha çok MVC yapısının gerekliliğine fazlasıyla inanmaya başladım.

Bu yazıyı yazarken bir yandan internette geziniyorum, bir yandan arkadaşlarımla sohbet ediyorum bir yandan da yatıyorum :) Dolayısıyla yazım yanlışları yapmış olabilirim. Konuyu çok iyi bağlayamamış olabilirim, sizlere çok iyi aktaramamış olabilirim. Bu yazının kötü olabilitesinden dolayı sizlerden özür diliyorum. (Aman ha sanki diğerleri çok iyiydi filan demeyin :P)

Smarty ile ilgili son söyleyeceğim şey; çok fazla söylenenlere aldırmayın en azından bir deneyin. Çok fazla bir kaybınız kesinlikle olmaz.

9 Comments

  1. ellerine sağlık çok güzelde bu smarty’de işte ->$this falan görüyoruz bunlar ne ? nasıl yazılır ? smarty’ ile siteden seçilen tema sistemi nasıl yazılır ? bunlara değinir misin ?

  2. Arkadaşım sen Smarty’nin gerçekte ne yaradığını çok yanlış anlamışın.

    • Ya da Smarty’i anlaşıldığından çok farklı bir biçimde kullanmışım. Çok farklı bir amaç için. Belki yanlışlıkla farklı bir kullanım amacı tespit etmişim? :) Çok yanlış anlamışsam, doğrusunu anlat.

  3. :)
    Evet gülümseyerek basladim. Neden? E komikti. Hostu. Güzeldi bence. Hem anladim. Yazar yanlis anlamissa bile, anladigini güzel anlatmis. Üstelik mantikli da. Neden olmasin? :)

    Hos; ben Smarty’i ilk kez bugün duydum. Daha dogrusu Shopware’i cözmeye calisirken, basimi duvarlara vurmama neden olan sorunun anahtar sözcügü oldugunu anladim.

    Iyi.. Peki… Ben de ögrenirim, olur biter. Zaten cok zor da degilmis. Öyle diyorlar. Olsa kac yazar. Girdik bi kere bu yola. Ya olucak ya olucak Allah’in izniyle.

    Pekala; simdi ben nerden basliycam. Önce bi dokumentation aliyim. Okuyayim. Sonra yine gelirim. Belki sorularim olur. Burda sorsam olur mu? Foruma git diyceksiniz. Sanki ben bilmiyorum foruma gitmeyi. Burda sorsam n’olur yani?

    Neyse… Görüsürüz sonra.

    Kolay gelsin

    Ha bi de tesekkür ederim :)

Leave a Reply

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir