Migración de PHP a Latte

¿Estás convirtiendo un proyecto antiguo escrito en PHP puro a Latte? Tenemos una herramienta para ti que facilitará la migración. Pruébala en línea.

Puedes descargar la herramienta desde GitHub o instalarla usando Composer:

composer create-project latte/tools

El convertidor no utiliza reemplazos simples mediante expresiones regulares, sino que aprovecha directamente el parser de PHP, por lo que puede manejar sintaxis de cualquier complejidad.

Para la conversión de PHP a Latte se utiliza el script php-to-latte.php:

php php-to-latte.php input.php [output.latte]

Ejemplo

El archivo de entrada puede 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 Latte:

<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>
versión: 3.0