Az első igazán biztonságos és
intuitív sablonok PHP-hoz

A webhelyek több mint 27%-a
Kritikus sebezhetőségekkel rendelkezik

A weboldalak leggyakoribb kritikus sebezhetősége a Cross-Site Scripting (XSS). Ez lehetővé teszi a támadó számára, hogy rosszindulatú szkriptet illesszen be egy oldalba, amely a gyanútlan felhasználó böngészőjében végrehajtódik. Módosíthatja az oldalt, érzékeny információkat szerezhet, vagy akár ellophatja a felhasználó személyazonosságát.

A templating rendszerek nem tudnak védekezni az XSS ellen. A Latte az egyetlen olyan rendszer, amely hatékony védelmet nyújt, köszönhetően a kontextusérzékeny menekülésnek.

Aki jól védett weboldalt szeretne, az Latte-t használ.

Kvíz: XSS sebezhetőség ellen?

Forrás: A Latte biztonsága Acunetix Web Vulnerability Report

Példa a $text változó automatikus escapingjére több különböző kontextusban (a felső sablont szerkesztheti):

{var $text = "O'Neill"}
- szövegben: <span>{$text}</span>
- in attribútumban: <span title={$text}></span>
- idézőjel nélküli attribútumban: <span title={$text}></span>
- és JavaScript: <script>var = {$text}</script>
- szövegben: <span>O'Neill</span>
- in attribútumban: <span title='O&apos;Neill'></span>
- idézőjel nélküli attribútumban: <span title="O&apos;Neill"></span>
- és JavaScript: <script>var = "O'Neill"</script>

Egy nyelv, amit jól ismersz

Nem viccelünk, már ismered a latte nyelvet. Már tudod, hogyan kell kifejezéseket írni rajta. Sőt, pontosan ugyanúgy íródnak, mint a PHP-ben. Tehát nem kell azon gondolkodnod, hogyan írj dolgokat Latte nyelven. Nem kell a dokumentációban keresgélned. Nem kell megtanulnod egy másik nyelvet. Egyszerűen csak úgy írsz, mint a PHP-ben. " Többet a Latte szintaxisáról .[more-about]:/hu/syntax"

Loop

<ul>
    {foreach $users as $user}
        <li>{$user->name}</li>
    {/foreach}
</ul>

Feltétel

{if $post->status === Status::Published}
    Read post
{elseif count($posts) > 0}
    See other posts
{/if}

Kifejezések

{$product?->getDiscount()}

{$foo[0] + strlen($bar[Bar::Const])}

{array_filter($nums, fn($n) => $n < 100)}

Latte vs Twig

A Latte PHP-alapú, míg a Twig Python alapú. Egy Latte-ban dolgozó tervezőnek nem kell folyamatosan váltania két különböző konvenció között. Például a for person in people a sablonokban és a foreach $people as $person a PHP-ban. Még csak gondolkodnia sem kell azon, hogy hol használjon {% %} és hol {{ }}, mert a Latte-ban csak egy {...} elválasztó van.

Próbálja ki a “Twig to Latte eszközt:/hu/cookbook/migration-from-twig”.

<ul>
    {foreach $foo->items as $item}
        <li>{$item->name}</li>
    {/foreach}
</ul>
<ul>
    {% for item in foo.items %}
        <li>{{ item.name }}</li>
    {% endfor %}
</ul>

Billentyűzetkímélő üzemmód, amely izgatottá tesz

A felhasználók imádják ezt a funkciót. Mi n:attribútumoknak hívjuk. Bármely párosított címke, például {if} ... {/if} {if} ... {/if} amelyek egy HTML-elemet körülvesznek, az n:if attribútumként írhatók le. Ez nagyon hatékony jelölést tesz lehetővé. Az attribútumok inner- és tag- előtaggal is rendelkezhetnek, ekkor a viselkedés az elem belsejére, illetve a nyitó és záró HTML-tagekre vonatkozik. " Többet az n-attribútumokról .[more-about]:/hu/syntax#toc-n-atributy"

Az n:attribútumok használata:

<ul n:if="count($menu) > 1" class="menu">
    <li n:foreach="$menu as $item">
        <a n:tag-if="$item->href" href={$item->href}>
            {$item->caption}
        </a>
    </li>
</ul>

És ugyanez nélkülük:

{if count($menu) > 1}
    <ul class="menu">
        {foreach $menu as $item}
            <li>
                {if $item->href}<a href={$item->href}>{/if}
                    {$item->caption}
                {if $item->href}</a>{/if}
            </li>
        {/foreach}
    </ul>
{/if}

Latte Pampers fejlesztők

Szerkesztés

A Latte natív támogatással rendelkezik a NetBeansban és egy kiváló plugin for PhpStorm, amely címkéket, szűrőket és PHP kódot javasol.

Hibakeresés

Maradjon kapcsolatban. A plugin for Tracy minden oldalon tájékoztatja Önt, hogy mely sablonok és változók kerülnek megjelenítésre.

Következő generációs sablonok

A Latte egy következő generációs sablonkészítő rendszer – érti a HTML-t. Ahol más rendszerek csak egy csomó karaktert látnak, a Latte a HTML elemeket látja. Ez az oka annak, hogy két olyan elképesztő funkcióval rendelkezik, mint a kontextusérzékeny eszkalálás és az n:attribútumok.

Hogyan látja a Blade, a Twig és más rendszerek a sablont?

░░░░░░░░░░░░░░░
░░░░░░
    ░░░░░░
        ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
        ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░@yield ('description')░
    ░░░░░░░
    ░░░░░░
        ░░░░░░░░░░░░░░░░░░░░░░░
            @foreach ($navigation as $item)
                ░░░░░░░░░░░░{{$item->link}}░{{$item->title}}░░░░░░░
            @endforeach
        ░░░░░

        ░░░░░░░░
            ░░░░░░░░░░░░{{ $appName }}░
        ░░░░░░░░░
    ░░░░░░░
░░░░░░░

Hogyan látja a Latte a sablont

<!DOCTYPE html>
<html>
    <head>
        <title>It's all about context</title>
        <meta name="description" content={include description}>
    </head>
    <body>
        <ul class="navigation">
            {foreach  $navigation as $item}
                <li><a href={$item->link}>{$item->title}</a></li>
            {/foreach}
        </ul>

        <script>
            var appName = {$appName};
        </script>
    </body>
</html>

Alaprajzok és öröklődés

A kifinomult sablon újrafelhasználási és öröklési mechanizmusok növelik a termelékenységet, mivel minden sablon csak az egyedi tartalmát tartalmazza, és az ismétlődő elemek és struktúrák újrafelhasználásra kerülnek.

Sandbox

A Latte páncélozott bunkerrel rendelkezik közvetlenül a motorháztető alatt. Ezt homokozó módnak hívják, és elszigeteli a sablonokat a nem megbízható forrásoktól, például a felhasználók által szerkesztett sablonoktól. Korlátozott hozzáférést biztosít számukra a címkékhez, szűrőkhöz, függvényekhez, metódusokhoz stb. Hogyan működik?

Nagyon gyors

A Latte az Ön munkájával egyidejűleg fordítja le a sablont az optimális PHP-kódra. Tehát olyan gyors, mintha tisztán PHP-t készítene. A lefordított PHP-kód világos és könnyen hibakereshető. A sablon automatikusan újrafordításra kerül minden alkalommal, amikor megváltoztatjuk a forrásfájlt.

Több mint 15 év

Már több mint 15 éve fejlesztjük a Latte-t – és egyre csak növekszik! Az általunk biztosított könyvtárak ezért rendkívül kiforrottak, stabilak és széles körben használtak. Számos globális vállalat megbízik bennük, és számos jelentős weboldal támaszkodik ránk. Ki használja és bízik a Latte-ban?

Nagyszerű dokumentáció

Az olvasók dicsérik a dokumentációt az érthetőség és a teljesség miatt. Kellemes olvasást kívánunk.

Nyílt forráskód

A Latte nyílt forráskódú és teljesen szabadon használható.