PHP - HTML Generator / Yöneticisi arıyorsunuz

4 Cevap php

Ben programlama biçimlendirme (non-irl kelime) oluşturmak için kullanabileceğiniz bir araç bulmak için çalışıyorum. Burada pseudo-kod gerçekleştirmek için çalışıyorum ne bir örnek ...

$htmlDoc = new HTML_Document();

$htmlDoc->setTitle('Cool Title');

$htmlDoc->addJs('some_js_file.js');
$htmlDoc->addStylesheet('some_css_file.css');

$divElement = new HTML_Element_Div();
$htmlDoc->append('body', $divElement);

$output = $htmlDoc->generate();

Bunun için en iyi aracı nedir?

4 Cevap

Bir PHP standart olarak bulunmaktadır birlikte oluyor: http://php.net/manual/en/book.dom.php

C.

Kendi basit bir çerçeve yazmak çok basit ve büyük bir öğrenme deneyimidir. Siz aslında ben sadece sadece birkaç hafta önce yeni bir proje için yaptım, sadece bir ya da iki saat içinde bu uygulayabilirsiniz.

Ne tavsiye ederiz:

  1. Tutucu etiketleri ile basit. HTML şablon oluşturma, ben sözdizimi% HTML_TITLE% kullanmak ve setTitle yöntem basit yapan bir STR-DEĞİŞTİR.
  2. Aynı JS, CSS için geçerlidir
  3. Eğer belirli parçalarını vermeyebilir beri her şey o sizin bir% \ w +% regex kalan%% etiketlerini kaldırmak () işlevi oluşturmak daha önemli.

Ben bu ortak görevi gideren basit bir DSL üzerinde çalışıyorum. Bu htmlgen denir ve Github üzerinde barındırılan ediliyor.

İşte bir örnek:

h::div(array("id"=>"wrapper"), function(){
  h::h1("Hello, World", array("class"=>"title"));
  h::p(function(){
    h::comment("link to project");
    h::a("See htmlgen on Github", "https://github.com/naomik/htmlgen");
  });
});

İşte çıkış bulunuyor. Hatta otomatik olarak girintili oluyor :)

<div id="wrapper">
  <h1 class="title">Hello, World</h1>

  <!-- link to project -->
  <p>
    <a href="https://github.com/naomik/htmlgen">See htmlgen on Github</a>
  </p>
</div>

Bu çok yeni ama kaynağının sadece 100 hatları, zaten çok güçlü. O çatal ve ayarlamalar yapmak veya önerileri ile bana bir not gönderin.

Requirements: PHP> = 5.3

Ben böyle bir kitaplık farkında değilim, ama XMLWriter dayalı, örneğin, bir yazmak oldukça kolay olacaktır.

O dedi, bu php özellikle bu gibi şeyleri önlemek için tasarlanmış olduğunu bilmenizde yarar var. Ben html çıkışı için bir çiftleşmiş motoru ya da 'saf' php öneririm.