PHP çiftleşmiş meydan (ön-uç şablonları optimize)

3 Cevap php

Bazı çiftleşmiş optimizasyonları yapmaya çalışıyorum ve böyle bir şey yapmak mümkün olup olmadığını merak ediyorum:

function table_with_lowercase($data) {
    $out = '<table>';
    for ($i=0; $i < 3; $i++) { 
        $out .= '<tr><td>';
        $out .= strtolower($data);
        $out .= '</td></tr>';
    }
    $out .= "</table>";

    return $out;
}   

NOTE: You do not know what $data is when you run this function.

Sonuçlar:

<table>
    <tr><td><?php echo strtolower($data) ?></td></tr>
    <tr><td><?php echo strtolower($data) ?></td></tr>
    <tr><td><?php echo strtolower($data) ?></td></tr>
</table>

General Case: Anything that can be evaluated (compiled) will be. Any time there is an unknown variable, the variable and the functions enclosing it, will be output in a string format.

İşte bir örnek daha var:

function capitalize($str) {
    return ucwords(strtolower($str));
}

$ Str ise "HI ALL" sonra çıktı:

  • Tüm Merhaba

$ Str bilinmiyor ise o zaman çıktı:

  • <?php echo ucwords(strtolower($str)); ?>

In this case it would be easier to just call the function (ie. <?php echo capitalize($str) ?>), ancak örnek önce daha verimli yapmak için PHP derleme için izin verecek

3 Cevap

Bir CSS stil tanımlamak ve istemci tarafı işi yapmak yerine, sunucu tarafında.

change_case {
    text-transform: lowercase; /* force text to lowercase */
    text-transform: uppercase; /* force text to uppercase */
    text-transform: capitalize; /* force text to proper case */
}

...

Bu kesinlikle mümkün. Ancak, php için etkili bir optimize derleyici yazma kolay bir iş değildir. Bir basit bir olasılıkla önemli bir yarar teklif olmaz. Yarar iyi biri için bile sorgulanabilir.

Yapabileceğiniz en iyi şey optimize edilmiş PHP kodu üretir ayrı bir çiftleşmiş dil kullanmak muhtemelen. Smarty popüler bir seçimdir.