Neden PHP HTML oluşturmak için:
- JavaScript içeriği, davranış değil tanımlamak gerekir.
- JavaScript oluşturma fazla biçimlendirme (multi-line dizeleri PHP kadar kolay değildir) gerektirir.
- Bu HTML çeşitli yerlerde (PHP & JS) oluşturulur ise korumak zordur.
- Eğer HTML oluşturmak için jQuery DOM işleme işlevlerini kullanabilirsiniz, ancak uzun vadede bacak kendinizi çekiyoruz.
- Bu (hesaplamalı anlamda) tarayıcıda daha sunucuda HTML oluşturmak için hızlı.
- Döngü PHP ile daha kolay - Bu tablo biçimlendirme oluşturmak kolaydır.
- Kullanıcı JavaScript sayfa yük çıktı eğer biçimlendirme devre dışı bıraktıysa eğer combatibility çeşit korumak.
Neden jQuery HTML oluşturmak için:
- Bazı bant genişliği kaydetmek istiyorum.
- Bağlama olaylar basit olabilir.
Yani, ben PHP HTML üreten, ilk seçenek yanayım.
Visual comparison of the two methods, creating a simple table.
Option 1, using PHP:
// PHP
$html = '<table>';
foreach($data as $row) {
$html .= '<tr>';
$html .= '<td><a href="#" class="button">Click!</a></td>';
$html .= '<td>'.$row['id'].'</td>';
$html .= '<td>'.$row['name'].'</td>';
$html .= '</tr>';
}
$html .= '</table>';
echo $html;
?>
// jQuery
$('#container').load('handler.php', function() {
$('#container a.button').click(function() {
// Do something
});
});
Option 2, using jQuery:
// PHP
echo json_encode($data);
// jQuery
$.ajax({
url: 'handler.php',
dataType: 'json',
success: function(data) {
var table = $('<table />');
var len = data.length;
for(var i = 0; i < len; i++) {
var row = $('<tr />');
var a = $('<a />').attr('href', '#').addClass('button');
row.append($('<td />').append(a));
row.append($('<td />').html(data[i].id);
row.append($('<td />').html(data[i].name);
table.append(row);
}
table.find('.button').click(function() {
// Do something
});
$('#container').html(table);
}
});
Görüş kodlama / güzellik noktasının bir tasarım / kolaylığı, ben kesinlikle PHP yaklaşımı ile gitmek söyleyebilirim.