PHP temel çiftleşmiş almak için en hızlı yolu, a la Struts Fayans nedir?

4 Cevap php

I'm new to PHP, and I'm looking to do what I'd normally do with Struts Tiles in JSP. I'm looking for something like:
Template.php:

<html><body>
 <div class="header"></div>
 <div class="contents">
  <#insert sectionName="pageContents">
 </div>
</body></html>

Content.php:

<#template name="Template.php">
 <#section name="pageContents">
  <div>
   <?php doSomething(); ?>
  </div>
 </#section>
</#template>

Content.php için bir istek Content.php içeriği uygun template.php dahil döner şekilde yerleştirilmiştir. Ben minimal kurulum / konfigürasyon zaman açısından hızlı çözüm arıyorum.

4 Cevap

Sen php çiftleşmiş sistemlerin herhangi bir sayı kullanabilirsiniz, ama PHP'nin yeteneklerini kullanmak tavsiye ederim. Hiçbir ek performans yükü ve yüklemek veya yapılandırmak için bir şey yok.

Yukarıdaki örneği taklit Örneğin, sizin gibi bir şey olabilir:

Template.inc:


<html><body>
 <div class="header"></div>
 <div class="contents">
  <?php print $pageContents
  //Or if your php installation supports short tags
  //<?=$pageContents?>
  ?>
 </div>
</body></html>

Content.php


<?php
  $something = doSomething();

  $pageContents = <<<CONTENT

<div>
  $something
</div>

CONTENT;

  include "template.inc";

Tabii ki, yukarıda örnek ulaşmanın başka yolları çok sayıda bulunmaktadır. Yani yerli yeteneklerini kullanarak başka bir ters - sizin tercih şekilde çalışmak için kendi çiftleşmiş sistemini düzenleyen ve yapılandırabilirsiniz.

Smarty: Template Engine bakabilirsiniz

Basit bir PHP çiftleşmiş için sormak beri, Smarty sizin durumunuzda biraz overkill olabileceğini düşünüyorum.

Sen Lerdorf's article on the No-framework MVC framework bakmak olabilir veya bu şablon motorlarından biri için gidebiliriz:

  • PHPTAL (PHPTAL sözdizimi bazı yönleri cinnet kenarında olmasına rağmen)
  • Twig
  • Savant3

Struts hakkında hiçbir şey bilmeden ben ilk dal kontrol düşünüyorum. Bu oldukça yeni bir proje olmasına rağmen ben size ilginizi çekebilecek bazı gerçekten güzel özelliklere sahip olduğunu düşünüyorum

Şahsen ben her PHP çiftleşmiş overkill buldum. Öğrenme ve çiftleşmiş motoru ile uydurarak fiyatı sadece çok yüksek. Eğer içine konum eğer etkin kısa (ASP tarzı) etiketleri ile, PHP bunu yapmak için genellikle çok daha kolay.

İsterseniz, basit bir sınıfta kendinizi PHP çiftleşmiş sarın, ya da bu kullanabilirsiniz:

Hala bir "gerçek şablon" istiyor? H2O göz atın, bu güzel görünüyor (ama yine de overkill olduğunu düşünüyorum)

İyi şanslar!