Migration von PHP nach Latte
Stellen Sie ein altes, in reinem PHP geschriebenes Projekt auf Latte um? Wir haben ein Werkzeug, das Ihnen die Migration erleichtert. Probieren Sie es online aus.
Das Werkzeug können Sie von GitHub herunterladen oder mit Composer installieren:
composer create-project latte/tools
Der Konverter stützt sich nicht auf einfaches Ersetzen mit regulären Ausdrücken, sondern nutzt den echten PHP-Parser, wodurch er beliebig komplexe Syntax verarbeiten kann.
Zum Umwandeln von PHP nach Latte dient das Skript php-to-latte.php:
php php-to-latte.php input.php [output.latte]
Beispiel
Eine Eingabedatei könnte so aussehen (das ist ein Teil des Codes des Forums 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>
Daraus entsteht 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>