Nette Documentation Preview

syntax
Перехід з PHP на Latte
**********************

.[perex]
Ви переносите старий проект, написаний на чистому PHP, на Latte? У нас є інструмент для полегшення міграції. [Спробуйте його онлайн |https://php2latte.nette.org].

Ви можете завантажити інструмент з [GitHub |https://github.com/nette/latte-tools] або встановити його за допомогою Composer:

```shell
composer create-project latte/tools
```

Конвертер не використовує прості підстановки регулярних виразів, замість цього він використовує безпосередньо парсер PHP, тому він може обробляти будь-який складний синтаксис.

Для конвертації з PHP у Latte використовується скрипт `php-to-latte.php`:

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


Приклад .[#toc-example]
-----------------------

Вхідний файл може мати такий вигляд (це частина коду форуму PunBB):

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

Генерує цей шаблон:

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

{{leftbar: /@left-menu}}

Перехід з PHP на Latte

Ви переносите старий проект, написаний на чистому PHP, на Latte? У нас є інструмент для полегшення міграції. Спробуйте його онлайн.

Ви можете завантажити інструмент з GitHub або встановити його за допомогою Composer:

composer create-project latte/tools

Конвертер не використовує прості підстановки регулярних виразів, замість цього він використовує безпосередньо парсер PHP, тому він може обробляти будь-який складний синтаксис.

Для конвертації з PHP у Latte використовується скрипт php-to-latte.php:

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

Приклад

Вхідний файл може мати такий вигляд (це частина коду форуму 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>

Генерує цей шаблон:

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