Smarty

Yazılım ekran görüntüsü:
Smarty
Yazılım detaylar:
Versiyon: 3.1.5
Qayıt: 11 May 15
Lisans: Ücretsiz
Popülerlik: 1

Rating: nan/5 (Total Votes: 0)

Smarty daha doğru bir şekilde tarif olurdu, aslında bir "Şablon Motor" değil "Şablon / Sunum Framework." Bu yaygın bir uygulama sunumu katmanında ele görevleri otomatikleştirmek için bir araç zenginliği ile programcı ve şablon tasarımcısı sağlar olduğunu. Smarty basit bir etiket-yerine şablon motoru değil çünkü kelime Framework stres. Böyle basit bir amaç için kullanılabilir olmasına rağmen, yüksek performans, ölçeklenebilirlik, güvenlik ve gelecekteki büyümeyi korurken, odağını, hızlı ve ağrısız geliştirme ve uygulamanın dağıtım üzerindedir.
Yani sizin için Smarty doğru? Ne aşağı gelir iş için doğru aracı kullanıyor. Basit değişken değiştirme istiyorsanız, basit bir şey bakmak, hatta kendi rulo isteyebilirsiniz. Eğer uygulama geleceğe geliştikçe çok sayıda araç ile sağlam bir çiftleşmiş çerçeve size yardımcı olmak istiyorsanız, Smarty olasılıkla iyi bir seçimdir.
kullanmak neden?
Smartys birincil tasarım amaçlarından biri sunum uygulama kodu ayrılmasını kolaylaştırmaktır. Genellikle, uygulama kodu yazılı ve PHP kodu muhafaza uygulamanızın, iş mantığı içerir. Bu kod programcılar tarafından yapılmaktadır. Sunum içerik yazılı ve şablon dosyalarında korunur son kullanıcı, sunulan yoludur. şablonlar şablon tasarımcıları tarafından yapılmaktadır.
En temel işlevi olarak, uygulama kodu şablon motoru atar ve görüntüler, içerik toplar. İçerik bir gazete makalesi başlığı, sloganlı yazar ve vücut gibi bir şey olabilir. uygulama kodu bu içerik şablonda sunulacak nasıl hiçbir endişe vardır. Şablon tasarımcı sunumundan sorumludur. Onlar biçimlendirme ekleme ve tamamlanması için getiren, şablon dosyalarını düzenleyin. Bu genellikle HTML etiketleri, basamaklı stil sayfaları ve şablon motoru tarafından sağlanan diğer araçlar gibi şeyler içerir.
Bu paradigma birçok amaca hizmet eder:
) Tasarımcılar uygulama kodunu kırmak olamaz. Hepsi istedikleri şablonları ile karışıklık, ancak kod bozulmadan kalır yapamam. Kod, sıkı, daha güvenli ve bakımı kolay olacaktır.
) Şablonları Hatalar tasarımcı için mümkün olduğunca basit ve sezgisel hale Smartys hata işleme rutinleri sınırlıdır.
Tüm programcı müdahalesi olmadan,) kendi katman üzerinde sunum ile tasarımcılar değiştirebilir veya tamamen sıfırdan yeniden.
) Programcılar şablonları ile karıştırmasını değil. Onlar, uygulama kodu korumak kazanılır yol içeriğini değiştirerek, sunum katmanı bozmadan vb yeni iş kurallarını, yapma hakkında gidebilirsiniz.
) Şablonları sezgisel bir yaklaşım nihai çıkış ne olacağını yakın bir temsilidir vardır. Tasarımcılar içerik şablonuna var nasıl umurumda değil. Böyle bir SQL deyiminde olarak şablonda gereksiz veri varsa, bu tasarımcı tarafından yanlışlıkla silinmesi veya değiştirilmesi uygulama kodu kırma riskini açar.
) Bu keyfi PHP kod çalıştırılmasına sunucu açılması değildir. Smarty kasıtlı veya kazayla olsun, güvenliğini ihlal olmayacak şekilde tasarımcıları inşa birçok güvenlik özelliklerine sahiptir. Onlar sadece onlar şablonları ile sınırlı ne yapabilirim.
Uygulama kodu sunum ayrılmış olmasına rağmen, bu mutlaka o mantık ayrılır anlamına gelmez. Uygulama kodu Açıkçası mantığı vardır, ancak şablonları yalnızca sunum için olduğunu durumuna göre mantığı olabilir. Örneğin, tasarımcı tablo satır renkleri veya üst davayı, onlar bazı atanmış içerik alternatif istiyor. Bu sunum mantığı, programcı ile ilgili olmamalıdır şeydir. Ne kadar sıklıkla bazı sunum tek bir sütunda gösterilmiştir vardı ve uygulama kodu bu karşılamak için ayarlanması gerekiyor öyleyse siz, iki ya da üç sütun halinde bunu istedi? Daha iyi bir yaklaşım tek dizide içeriği atamak ve şablon sunum halledeyim etmektir. Bu uygulamayı kolaylaştırmak ve esnek şablonları devam edecektir. Smarty durumun bu tür işlemek için araçlar sağlamaktadır.
Bu Smarty şablonunda uygulama mantığı koyarak engeller anlamına gelmez, kendini biraz disiplin olması gerekir. İşte (bu, mümkünse bunu yaparken kaçının doğru) şablonda iş mantığı gömme bir örnektir:
{If $ smarty.session.user ve ($ user_type eq "editör" ya da $ user_type eq "admin")}
düzenle
{/ If}
Kullanıcı kaydedilir ve bir editör veya yönetici ya iseniz mantık kontrolleri, o zaman bu kadar düzenleme onay kutusunu gösterir düzenlemek için izin verilir. Bu uygulama kodunda aittir mantık. Şablon nedir kimlik umursamıyor Bu kullanıcının sadece düzenleme kutusu görüntülenir olup olmadığını bilmelidir, var! O yüzden daha uygun bir yaklaşım bakalım:
{If $ edit_flag}
düzenle
{/ If}
Çok basit ve kolay anlaşılır şablon değişkeni bir $ edit_flag, atamak için uygulama programcısı kalmıştır. Bu şekilde şablon artık temel veri yapısı güveniyor. Oturum veri yapısının biçimi hiç değişirse, hiçbir şey şablona ayarlanması gerekiyor.
Şimdi Smarty ile yapabileceğiniz birkaç şey bakalım. Yapabileceği tek şey, özel işlevleri. Bunlar belirli bir görevi yürütmek şablonu etiketleri bulunmaktadır. Örnek:
{Html_image file = "masthead.gif"}
İşte biz "html_image" adında bir işlevi var. Bu fonksiyon, "dosya" özniteliği verilen görüntü alır ve aşağıdaki HTML kodu ile gelip gerekli tüm çalışmaları yapar:

görüntü fonksiyonu yüksekliği ve genişliği endam ve varsayılan sınır bayrağını temin angarya yaptım. Tabii ki sadece yerine şablon statik HTML etiketini kullanabilirsiniz, ancak bu özel bir işlevi çok yaygın bir görevi kolaylaştırmak için kullanılabilir gösterilmiştir. Tasarımcı teknik malzeme üzerinde tasarım ve daha az odaklanabilirsiniz. Tasarımcı, farklı bir boyut manşete görüntüde düşmesi karar verirse Ayrıca, şablon ayarlama gerekmez.
html_image Smarty ile birlikte bir fonksiyonudur. Ayrıca kendi özel işlevler yapabilirsiniz. İşte bir neye benzeyeceğini başka bir örnek:
{Html_link type = "makale" id = "abc123" text = "Ateş otel çıkarır"}
Bu "html_link" olarak adlandırılan özel bir işlev kullanıyor. Aşağıdaki HTML kodu ile geliyor:
Yangın otel dışarı alır
Bu ne başarmak nedir? Biri için, tasarımcı bir makaleye bir URL biçimi ile ilgili olması gerekmez. Kodlanmış URL'ler ile ne programcı şeyleri temizlemek için karar bir gün olur, ve / abc123 / ART /display_article.php?id=abc123 URL sözdizimi değiştirir? Biz bir makale URL ile her şablonu düzenlemek zorunda kalacak. Bu şablon işlevi korumak için şablonlar kolaylaştırabilir nasıl sadece bir örnektir.
Şimdi programcılar ve şablonlara biraz. Daha önce programcı şablonları içeriği ile ne hiçbir bakım olduğu belirtilmiştir. Kavramsal düzeyde bu doğrudur, ama gerçek dünyada size yoktan tüm şablonları oluşturmak zorunda şablon tasarımcısı beklemek gidiş değildir. Sonuçta, iş mantığı içerik şablonları atanan belirlemek yapar. Yani, programcı tasarımcı için tipik kurulum iskelet şablonları ile başlamak olacaktır. Onlar büyük bir karmaşa içinde içerik ile başlar kalmamak Bu genellikle içerik değişkenleri ve bölüm döngüler, ve belki bir kaç basit biçimlendirme etiketleri gibi çiğ elementleri içerir. İşte makalelerin bir listesi üzerinden döngüler ve bir tabloda görüntüler bir iskelet şablon bir örnektir:


{Section name = sanat loop = $ makale}


{/ Bölüm}
{$ makale [art] .headline}
{$ makale [art] .date}
{$ makale [art] .author}

Çıktı böyle bir şey görünebilir:







batı kazandı nasıl
2 Aralık 1999
John Wayne
Takım kaybeder, Koç sonlandırılıyor
2 Şubat 2002
John Smith
Gourmet Cooking
23 Ocak 1954
Betty Crocker

Şimdi bazı genel sorular için:
Hiç Neden kullanım şablonları? Ne Yerine {$ başlığı} mu?
Okumak için kolay şeyler yapma, bir tasarım hedefi değildi, ama bir yan etkisi daha. Şablonları kullanarak yukarıda açıklanmıştır birçoğu büyük faydalar vardır. ? Biz zaten bir şablon ortamında olduğundan, {$ title} , özellikle basit bir sözdizimi okumak ve korumak için şablonlar kolaylaştırmak için yardımcı olur.
Şablon uygulamaları çok daha yavaş hale ayrıştırmak için zaman ayırın.
Bu bazı durumlarda doğru olabilir, ama Smarty ile bir PHP komut dosyası yürütme daha yavaştır. Bir şablonun ilk yürütme, Smarty Bundan sonra, PHP script dahil PHP betikleri (şablon derleme denir.) Içine şablon dosyalarını dönüştürür. PHP hızlandırıcı ve sizinle Çift bu gerçekten az yük ile hızlı bir çiftleşmiş ortam var.
Smarty hızlı olduğunu nasıl olabilir, çok karmaşık?
Smarty çekirdek bunun neler yapabileceğini göz önüne alındığında oldukça yalın. Işlevselliğini çoğu eklentileri yer almaktadır. sadece gerekli eklentileri talep üzerine yüklenen ve böylece eklenti mimarisi tasarlanmıştır. Bu çerçevede ile yeni eklentileri ekleyerek hatta yüzlerce performansını etkilemez. Bu Smarty hızlı, ölçeklenebilir ve esnek hale getirir.
Smarty de dinamik yenilemek ve beğeninize de uncached sayfanın bölümlerini tutabilir önbelleğe özelliklere sahiptir. Önbelleğe alma, her çağırma onları yürütmek için ihtiyaç tasarrufu, derlenmiş şablonlar çıkışını saklar.
Hızlandırıcılar konusunda Tüm bu konuşma, nasıl Smarty biri olmadan çalışıyor mu?
Aslında biri olmadan oldukça iyi çalışır. Smarty bir hızlandırıcı gerektirmez, ancak şablon, kendilerini bir yararlanmak Smarty (AFAIK) özgü bir şey dosyaları. Bir hızlandırıcı yoksa, şablon yürütme hızlı değil ama onlar ayrıştırıldı değil çünkü herhangi bir yöntemle yavaş değil! Ayrıca tüm diğer yararları ve Smarty özelliklerini korurlar. Hızlandırıcılar serbestçe kullanılabilir çünkü Ayrıca, birini kullanarak değil bir bahane gerçekten yoktur. Onlar Smarty veya kullanarak, tüm PHP uygulamaları ile performans yardımcı olacağız.
korumak daha kolay olabilir nasıl?
Bazı şeyler açıkladı, ancak deneyimli olamaz. sunum, uygulama mantığı ayrılmasının yararı yeterince vurguladı olamaz. Smarty ayrıca bazı güzel hata işleme özellikleri ve bir bakışta bir şablon hiyerarşi görebilirsiniz ayıklama konsolunda dahili ve atanan değişkenler vardır. Smarty için özel özellikler ekleme eklenti dizininde bırakarak ve şablonda bunlardan bahsetmeden kadar kolaydır.
Şablon etiketleri XML tabanlı, My editör bunu sevmiyor değil.
{} Sınırlayıcı onlar HTML etiketleri arasına ayırt etmek kolaydır, sadece varsayılan vardır. Onları sevmiyorum, sizin sınırlayıcı değiştirmek ya da belki bir şey daha XMLish aynı zamanda kullanıcı dreamweaver için katkıları ve benzeri bir sürü vardır gibi, onlara Katkılar alanında bir görünüm verir.
Yani umarım web uygulaması bina araçları cephanelik ekleyebilirsiniz, özetle Smarty var. Gerçekten daha fazla bilgi edinmek için, alt manuel üst okumak forumları katılmak ve insanların görüşüyorlar görmek

Özellikler :.

  • Caching: Smarty bir hale web sayfasının tamamını veya parçalarını önbelleğe veya uncached parçaları bırakarak ince taneli önbellek özellikleri sağlar. Programcılar vb önbelleklenebilir veya non-önbelleklenemez, kolay yönetim için mantıksal birimler halinde grup önbelleğe sayfaları gibi şablon işlevlerini kaydedebilirsiniz.
  • Yapılandırma Dosyaları: Smarty yapılandırma dosyalarından çekti değişkenleri atayabilirsiniz. Şablon tasarımcıları programcı müdahalesi olmadan tek bir yerde birden fazla şablonlara ortak değerleri korumak ve yapılandırma değişkenleri kolayca uygulama programlama ve sunum kısımları arasında paylaşılabilir.
  • Güvenlik: Şablonlar PHP kodu içermez. Bu nedenle, bir şablon tasarımcısı PHP gücüyle Unleashed, ama işlevsellik sadece alt kümesi programcı onlara hazır değildir (uygulama kodu.)
  • Kolay Kullanım ve Bakım için: Web sayfası tasarımcıları PHP kodu sözdizimi ile ilgili değil, ama düz HTML daha yerine kolay kullanımlı çiftleşmiş sözdizimi pek farklı değildir. şablonlar dramatik tasarım döngüsünü kısaltır, nihai çıktının çok yakın bir temsilidir.
  • Değişken Degistiriciler: atanan değişkenlerin içeriği kolayca tüm üst durumda göstermek gibi nitelemeler ile ekran zamanında ayarlanabilir, html kaçtı Yine, vb tarihleri ​​biçimlendirme, metin blokları kesiliyor, karakterler arasında boşluk ekleme Bu programcı hiçbir müdahale ile gerçekleştirilir.
  • Şablon Fonksiyonlar: Birçok fonksiyon gibi, HTML kodunu kesimleri (Açılır menülerde, tablolar, pop-up, vb) üreten-line diğer şablonlar içeriğinin görüntülenmesi, içeriğin diziler üzerinde döngü gibi görevleri işlemek için şablon tasarımcısı mevcuttur vb renkler olsa bisiklet, e-posta çıkışı için metin biçimlendirme.
  • Filtreler:. Programcı şablon çıktı tam bir kontrol ve ön filtreler, post-filtreleri ve çıkış filtreleri ile derlenmiş şablon içeriğine sahiptir
  • Kaynaklar:. Şablonlar şablonları bunları kullanarak daha sonra, yeni kaynak işleyicileri oluşturarak kaynaklardan herhangi bir sayıda çekilebilir
  • Eklentiler: Neredeyse Smarty her yönüyle eklentileri kullanımı ile kontrol edilir. Bunlar genellikle eklenti dizini içine bırakarak ve daha sonra şablonda bunlardan bahsetmeden veya uygulama kodunda bunları kullanarak gibi kolaydır. Birçok kullanıcı-toplum katkıları da mevcuttur. (Forum ve wiki eklentileri bölümüne bakın.)
  • Eklentiler: Birçok kullanıcı topluluk Eklentiler-vb Bu araçlar geliştirme döngüsü hızlandırmaya yardımcı pagination Form Validation, Açılır Menüler, Calander Tarih toplayıcılar, olarak mevcuttur katkıda yeniden gerek yoktur Zaten kararlı ve dağıtım için hazır tekerlek veya hata ayıklama kodu icat. (Forum ve wiki Eklentiler bölümüne bakın.)
  • Hata:. Smarty yerleşik şablon tasarımcısı atanan tüm değişkenleri görebilirsiniz ve programcı şablonu oluşturma hızları incelemek, böylece konsol hata ayıklama
  • ile geliyor
  • Derleme:. Smarty şablonları çalışma zamanı ayrıştırma ortadan kaldırarak, perde arkasında PHP koduna şablonları derler
  • Performans: Smarty engin özellik seti rağmen, son derece iyi bir performans sergiliyor. Smarty yetenekleri çoğu on-demand yüklenen eklentileri yalan. Smarty uygulama kodunu en aza indirilmesi ve daha hızlı, daha az hata eğilimli uygulama geliştirme / dağıtım sonuçlanan çok sayıda sunum araçları ile geliyor. Smarty şablonları PHP derlenmiş olsun pahalı şablon dosyası taramaları ortadan kaldırılması ve PHP op-kod hızlandırıcılar hızını yararlanarak, dahili (bir kez) dosyaları.

Bu sürümdeki yeni Nedir:

  • süper küresel erişim değişiklikleri geri ve yerine ilişkin USE_SUPER_GLOBALS güveniyor Güvenlik

nedir sürüm 2.6.23 Yeni:

  • {} matematik denklemlerden şerit backticks (mohrt)

  • Şablon var ama
  • atmak hata değildir okunabilir (mohrt)

nedir sürüm 2.6.22 Yeni:

  • Bu sürüm Smarty 2.6 ile karşılaşılan bir sorunu giderir .21 serbest bırakılması ve PHP 5.2 bir PCRE motor hata. Yöntem zincirleme hata önlemek için kaldırıldı. Yöntem zincirleme Smarty 3 yeniden görünecektir.

Geliştirici Diğer yazılım New Digital Group, Inc.

Smarty
Smarty

13 Apr 15

Yorumlar Smarty

Yorum Bulunamadı
Yorum eklemek
Görüntülerde açın!