Migración de PHP a Latte
¿Está convirtiendo a Latte un proyecto antiguo escrito en PHP puro? Tenemos una herramienta que le facilitará la migración. Pruébela en línea.
Puede descargar la herramienta desde GitHub o instalarla con Composer:
composer create-project latte/tools
El conversor no se basa en simples sustituciones con expresiones regulares, sino que usa el analizador real de PHP, lo que le permite manejar una sintaxis arbitrariamente compleja.
Para convertir de PHP a Latte se usa el script php-to-latte.php:
php php-to-latte.php input.php [output.latte]
Ejemplo
Un archivo de entrada podría tener este aspecto (es parte del código del foro PunBB):
<h1><span><?= $lang_common['User list'] ?></span></h1>
<div class="blockform">
<form id="userlist" method="get" action="userlist.php">
<div class="infldset">
<?php
foreach ($result as $cur_group) {
if ($cur_group['g_id'] == $show_group) {
echo "\n\t\t" . '<option value="' . $cur_group['g_id'] . '" selected="selected">'
. htmlspecialchars($cur_group['g_title']) . '</option>';
} else {
echo "\n\t\t" . '<option value="' . $cur_group['g_id'] . '">'
. htmlspecialchars($cur_group['g_title']) . '</option>';
}
}
?>
</select>
<p class="clearb"><?= $lang_ul['User search info'] ?></p>
</div>
</form>
</div>
Genera esta plantilla:
<h1><span>{$lang_common['User list']}</span></h1>
<div class="blockform">
<form id="userlist" method="get" action="userlist.php">
<div class="infldset">
{foreach $result as $cur_group}
{if $cur_group[g_id] == $show_group}
<option value="{$cur_group[g_id]}" selected="selected">{$cur_group[g_title]}</option>
{else}
<option value="{$cur_group[g_id]}">{$cur_group[g_title]}</option>
{/if}
{/foreach} </select>
<p class="clearb">{$lang_ul['User search info']}</p>
</div>
</form>
</div>