Eğer ucuz PHP çiftleşmiş istiyorsanız, PHP ifade blokları ile ayrı dosyalarını kullanabilirsiniz. Bu printf-stili biçim dizeleri kullanarak bir çiftleşmiş sistem yapmak mümkündür, ama bu yaklaşım ile görebilirsiniz iki temel sorun vardır: hız ve okunabilirlik. printf fonksiyonlar kısa dizeleri üzerinde kullanılmak üzere tasarlanmıştır, ve ben taraftan herhangi bir istatistik yok, ancak ben (o sprintf() veya {[çalıştıran söylemek güvenli olduğunu düşünüyorum edilir 3)]} sayfa gövdesini temsil eden bir büyük dize sadece bir dosyada PHP ifade bloklarını kullanarak daha yavaş olacaktır.
Yani bir sonraki sayısında götürür: okunabilirliği. Bu iki HTML şablonları karşılaştırın:
<html>
<head>
<title>%s</title>
</head>
<body>
<div id="main">
<h1>%s</h1>
<p>%s</p>
</div>
<div id="other">
<p>%s</p>
</div>
<p id="footer">
%s. Took %.2f seconds to generate.
</p>
</body>
</html>
ve
<html>
<head>
<title><?= $title ?></title>
</head>
<body>
<div id="main">
<h1><?= $header ?></h1>
<p><?= $body_text ?></p>
</div>
<div id="other">
<p><?= $misc_info ?></p>
</div>
<p id="footer">
<?= $copyright ?>. Took <?= $load_time ?> seconds to generate.
</p>
</body>
</html>
Ya da, en ben endeksli argümanlar ile biçim dizeleri kullanmaya karar verdi diyelim. , Böyle bir şey söyle:
<h1>%1$s</h1>
<p>%2$s</p>
<span id="blah">%3$s</p>
<p>%4$s</p>
<p>%5$s</p>
Şimdi, ne sipariş etrafında geçmek istiyorsa?
<h1>%1$s</h1>
<p>%3$s</p>
<span id="blah">%5$s</p>
<p>%4$s</p>
<p>%2$s</p>
Bu tabii ki yapmacık, ama uzun vadede printf şablonları korumak olacaktır nasıl düşünmek.
So, in general, if you want quick-ve-dirty PHP templating, use template files that contain PHP expression blocks. The printf functions are a lot better at tackling smaller string formatting tasks.