Ben bu satırlar, sütunlar ve hücreler için colspan / rowspan ve bireysel CSS sınıfları destek olmalı, yani karmaşık HTML tabloları üretecektir PHP iyi bir sınıf için arıyorum.
Soru oldukça yakından üzerinde çalışıyorum küçük bir proje ile ilgili gibi görünüyor.
htmlgen Eğer böyle bir şey yapmak mümkün olurdu kullanma:
<?php
$table_data = array(
"foo" => "bar",
"hello" => "world",
"123" => "456",
"abc" => "xyz"
);
h::table(array("id"=>"example"), function() use($table_data){
h::tr(array("class"=>"header"), function(){
h::th("key");
h::th("value");
});
foreach($table_data as $k => $v){
h::tr(array("class"=>h::cycle(array("odd", "even"))), function() use($k,$v){
h::td($k);
h::td($v);
});
}
});
?>
Edilen çıkış:
<table id="example">
<tr class="header">
<th>key</th>
<th>value</th>
</tr>
<tr class="odd">
<td>foo</td>
<td>bar</td>
</tr>
<tr class="even">
<td>hello</td>
<td>world</td>
</tr>
<tr class="odd">
<td></td>
<td>456</td>
</tr>
<tr class="even">
<td>abc</td>
<td>xyz</td>
</tr>
</table>
Sana colspan
ve rowspan
bahsedilen biliyorum bu yüzden ben de bunun için bir örnek vermek istiyorum düşündüm
h::table(function(){
h::tr(function(){
h::td(array("rowspan"=>2), "foo");
h::td("bar");
});
h::tr(function(){
h::td("hello");
});
h::tr(function(){
h::td(array("colspan"=>2), "world");
});
});
Böyle bir tablo bir şey oluşturur
+-----+-------+
| | bar |
| foo |-------+
| | hello |
+-----+-------+
| world |
+-------------+
Onlar biraz ayrıntılı olabilir gibi bazı örnekler gibi görünüyor olsa da, ben çok programlı bir şekilde DSL kullanmak için yeteneği çok güçlü yapar düşünüyorum.
Aslında kendi kütüphane oluşturmak istiyorsanız, ben sizinle işbirliği isterim. Projeyi kontrol ve bana ne düşündüğünüzü bildirin lütfen :)