Neden bir çerçeve ile bir çiftleşmiş motoru kullanmak?

5 Cevap php

Geçenlerde PHP çerçeve Kohana (harika) keşfetti ve bu Smarty veya Twig gibi bir çiftleşmiş motoru ile birlikte kullanma hakkında bir konu okuyordum. Neden rahatsız Benim soru? Elbette bir MVC framework, tanımı gereği, bir çiftleşmiş motoru. Hatta "ham" PHP, belki, bir çiftleşmiş motoru. Zaten böyle Kohana gibi bir çerçeve mevcut ne üstüne soyutlama seviyesini ekleyerek Ne mümkün faydaları vardır?

EDIT - I realise that an MVC framework isn't the same thing as a templating engine, but surely the V part does the same job? Perhaps a better way of phrasing things would be; why add an templating engine on top of the V part of an MVC framework?

5 Cevap

Ben bu iş için düşünebilirsiniz iki gerçekten iyi nedenler var ...

  1. Tutarlı bir biçimde site boyunca tekrarlanır biçimlendirme oluşturma kolay, artı Grepping bir sürü olmadan daha sonra güncelleyebilirsiniz.
  2. Bu gerçek bir şirket için ise, içeriği belirleyen insanlar, HTML, PHP çok daha az gerçekten aşina olması muhtemel değildir. Doğru yolu arayan stilleri tutar ve çok kod bilgisi olmadan geçerli işaretleme üretir basit bir şablon dili olması gerçekten kullanışlı.

Öncelikle, ham PHP çiftleşmiş motoru değildir.

Sonraki, MVC framework framework Model, View ve Kontrol bölünmesini tanımlar. Bu View yerli veya harici şablon motoru ile entegre olabilir ama çerçeve, bir şablon motoru var anlamına gelmez. Böylece çerçeve ya da bir çiftleşmiş motoru olabilir veya olmayabilir.

Üçüncü olarak, görünüm! = Şablonu. Görünümü yalnızca verilerin nasıl görüntüleneceğini atıfta - genellikle dahil hiçbir şablon yoktur, motor şablonu şablonlar içine güzel verileri koymak mümkün kod parçası anlamına gelirken - bunları değiştirebilirsiniz zaman büyük tüm dosyaları değiştirmek için ihtiyacı azaltabilir şablonları

Son olarak, çerçeve kullanıcıların çerçevesinde yerli motor şablon üzerinde böyle Smarty gibi daha yaygın bir çiftleşmiş motoru kullanmayı tercih edebilir. Siz yerli şablon motoru yeni etiketler öğrenmek gerekmez.

Kısa etiketleri için izin vermedikçe,

{$foo}

çok daha okunabilir

<?php echo $foo; ?>

Büyük bir proje üzerinde çarpılır, o kadar ekler.

Ham PHP sitenizin tanıtımı için biraz fazla olduğu için ayrı bir şablon motoru isterim neden büyük bir nedenidir. Sadece size site yapma, ve sen sitenin şablonları dokunsa birlikte uyum konusunda iyi bir fikir varsa, o zaman bu gerçekten bir olumsuz değil, ama büyük projeler için, bu şekilde alır.

Proje, tek bir geliştirici geçmek vardır, ya da sen bile önce tasarımcı eklemek istiyorsanız, PHP muhtemelen çok zor, basit oldukları için avantajı da vardır Amaç inşa şablon dillerde içeri sunum ifade değil, yapmak için bir dil ise Sana kendini asmak üzere-çok ip verir.

Birden çok geliştiriciler kadar girdi gerekmez bile, biraz hantal düz PHP serbest formu yapabilirsiniz büyük projeler. amaçlı inşa motor şablonu her şablon kalanı ile nasıl uyum için temel bir yapı sağlar (ya da zorlar).

Mauris zaten neden MVC! = Şablon motoru kapalı, ama ben daha güçlü motor şablonu olduğunu eklemek istiyorum, daha temiz ve daha özlü şablonları vardır. Bu özellikle kolay PHP ile aşina olmayan insanlar bunları düzenlemek için yapar (örn: Bir tasarımcı / ön uç geliştirici HTML düzenleme gerekiyorsa). Genel olarak, MVC işlevselliği bu tür övünme yok.

Smarty Bu example bir göz atın. Ben motor kullanılmış ve bu soruya cevap şimdiye kadar onun biçimlendirme gördüğüm ilk kez, ama ben zaten onun yaptığını tam olarak ne söyleyebilirim asla ettik.

Smarty ve diğer motorlar alternatif satır renkleri ve ilk örnekte boş veri setleri için alternatif içerik ve ([{biçimlendirme gibi saçma sapan şeyler gibi sizin için sıradan şeyler ilgilenir beri Ayrıca, yazmak zorunda kod miktarı fark daha az olduğunu {0)]} listeleri [(1)]}.