Hello , i built php class for parsing html templates , and i used preg_replace_callback function for parsing template while loops & if conditions , for loop , ... etc i repeated the function many times , for every process , such as one time for parsing while loop , and another time for if conditions parsing .. etc , and repeated all of these steps again when parsing include files inside the template , but i think that this method of parsing is slow when parsing big template , so i think that using one while loop and read template line by line and compare it then parsing found line will be more fast , so what is your opinion , using one while loop and read the template file line by line and parsing it is more useful ? or using preg_replace_callback ? and is it preferred to parse the codes inside the template ? by replacing it with php code then evaluate the template using eval() ? or parsing it inside the php file then append the result to the template ?
First, why re-invent the wheel? There are so many excellent free templating engines already available. Second, php itself is an excellent templating engine. Why do you need anything else? Just turn on short open tags and use the alternate syntax for control structures and you have the best, fastest template engine possible. If you still want to write your own engine, I would suggest you avoid eval. Regarding regex vs loop, you have to benchmark your case. I once ran a similar test and found my loop to be faster but YMMV. Each scenario is different.