Nasıl php kendi şablon / programlama motoru yapabilirsiniz

1 Cevap php

Şablonu kendi motorlarına bazı çalışma zamanı ive ama alwais gibi strucktured belgelerde sıkışmış olsun

<block : block1>
    <table>
        <block : row>
            <tr>
                <td>
                    {value}
                </td>
                <td>
                    {value2}
                </td>
            </tr>
        </block>
    </table>
</block>

Ben bir regex ile "blok 1" alabilirsiniz ama ilk ("satırındaki" bir birini) kıracak

But i want a smarter way (and not by using a function like DOM) i was thinking about something like

while($i < strlen($code)){
    if(substr($code,$i,1)){
        //tag is opened
    }
}

1 Cevap

Temelde, (basit de olsa, yine de bir programlama dili var) burada bir programlama dili inşa ediyoruz. Genellikle lexer (anlamlı belirteçleri içine girdi akışını böler olan) içerir ve bir parser (belirteçleri bir okur hangi bir compiler gereken bir programlama dili, yorumlamak tek ve eylemler gerekli her türlü alır) tarafından. Lütfen basitleştirilmiş örnekte, lexer muhtemelen sıradanifade-tabanlı olacak ve ayrıştırıcı basit bir stack-tabanlı biri olabilir.

(Terimler italic aslında wikipedia bağlantılar olmalıdır.)