Migration von PHP nach Latte

Konvertieren Sie ein altes Projekt, das in reinem PHP geschrieben ist, nach Latte? Wir haben ein Werkzeug für Sie, das die Migration erleichtert. Probieren Sie es online aus.

Sie können das Werkzeug von GitHub herunterladen oder mit Composer installieren:

composer create-project latte/tools

Der Konverter verwendet keine einfachen Ersetzungen mit regulären Ausdrücken, sondern nutzt direkt den PHP-Parser, sodass er mit jeder noch so komplexen Syntax umgehen kann.

Zur Konvertierung von PHP nach Latte dient das Skript php-to-latte.php:

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

Beispiel

Die Eingabedatei kann zum Beispiel so aussehen (dies ist ein Teil des Codes des PunBB-Forums):

<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>

Es generiert dieses Template:

<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>
Version: 3.0