Rumah >pembangunan bahagian belakang >tutorial php >Penjelasan terperinci tentang fungsi dan pemasangan serta penggunaan PHP EasyTpl

Penjelasan terperinci tentang fungsi dan pemasangan serta penggunaan PHP EasyTpl

藏色散人
藏色散人ke hadapan
2021-11-17 14:08:463694semak imbas

EasyTpl - Enjin templat PHP yang ringkas dan pantas

Enjin templat PHP yang ringkas dan pantas.

Ciri-ciri

  • Mudah, ringan dan pantas.
    • Tiada kos pembelajaran
    • Hanya pemprosesan mudah dan penukaran kepada sintaks PHP asli
    • Serasi dengan sintaks asli PHP
  • Sintaks Output yang lebih mudah . Contohnya: {{= $var }} {{ $var }} {{ echo $var }}
  • menyokong semua sintaks kawalan. Contohnya, if,elseif,else;foreach;for;switch
  • menyokong akses berantai kepada nilai tatasusunan. Contohnya: {{ $arr.0 }} {{ $map.name }} {{ $map.user.name }}
  • secara lalai, hasil output akan diproses secara automatik melalui htmlspecialchars
    • melainkan dilumpuhkan atau digunakan secara manual raw. penapis
  • Menyokong menggunakan fungsi terbina dalam PHP sebagai penapis. Contohnya: {{ $var | ucfirst }}
  • Sokongan menambah penapis tersuai
    • Penapis terbina dalam lalai: upper lower nl
  • Disokong Tambahkan arahan tersuai untuk menyediakan fungsi tersuai
  • Sokongan menambah ulasan pada templat. Contohnya: {{# comments ... #}}

Memasang

  • memerlukan PHP 8.0

komposer

composer require phppkg/easytpl
Sintaks adalah sama dengan templat asli PHP Sintaks khas ditambah hanya untuk menjadikannya lebih mudah digunakan.

Penapisan output didayakan secara lalai dan boleh digunakan untuk memaparkan templat paparan
use PhpPkg\EasyTpl\EasyTemplate;

$tplCode = <<<&#39;CODE&#39;
My name is {{ $name | strtoupper }},
My develop tags:

{{ foreach($tags as $tag) }}
- {{ $tag }}

{{ endforeach }}
CODE;

$t = new EasyTemplate();

$str = $t->renderString($tplCode, [
    &#39;name&#39; => &#39;inhere&#39;,
    &#39;tags&#39; => [&#39;php&#39;, &#39;go&#39;, &#39;java&#39;],
]);

echo $str;

Penapisan output dimatikan dan digunakan terutamanya untuk pemprosesan teks, penjanaan kod , dsb.

My name is INHERE,My develop tags:- php- go- java

Tetapan konfigurasi

Lagi tetapan:

  • Nilai pembolehubah outputEasyTemplate
  • Pernyataan berikut adalah sama, boleh digunakan untuk mencetak nilai pembolehubah
  • TextTemplate
  • Lagi:

Secara lalai, hasil output akan diproses secara automatik melalui

, melainkan dilumpuhkan atau ditetapkan Lumpuhkan penapisan output secara manual menggunakan
use PhpPkg\EasyTpl\EasyTemplate;$t = EasyTemplate::new([
    'tplDir' => 'path/to/templates',
    'allowExt' => ['.php', '.tpl'],]);// do something ...
penapis

/** @var PhpPkg\EasyTpl\EasyTemplate $t */
$t->disableEchoFilter();
$t->addFilter($name, $filterFn);
$t->addFilters([]);
$t->addDirective($name, $handler);

tetapan

Lumpuhkan penapisan output dalam templat
{{ $name }}{{= $name }}{{ echo $name }}

{{ $name ?: 'inhere' }}{{ $age > 20 ? '20+' : 'd344baf6e2c60db2228b043db2e8f6addisableEchoFilter()
  • {{ $name | raw }}
  • Jika blok pernyataan

    pernyataan:

    . Kenyataan:

    $arr = [
        'val0',
        'subKey' => 'val1',];

    Kenyataan:
    first value is: {{ $arr.0 }} // val0'subKey' value is: {{ $arr.subKey }} // val1

    Untuk/Foreach blok pernyataan

    if

    :
    {{ if ($name !== '') }}hi, my name is {{ $name }}{{ endif }}

    if elsedengan kunci:

    hi, my name is {{ $name }}age is {{ $age }}, and{{ if ($age >= 20) }}
     age >= 20.{{ else }}
     age e14b968d37789ddc476c8c0a955aab13= 50) }}
     age >= 50.{{ elseif ($age >= 20) }}
     age >= 20.{{ else }}
     age 0aa6c69b92eba22dc55a320741546bac $tag) }}{{ $index }}. {{ $tag }}{{ endforeach }}
    Penapis terbina dalam lalai:

    - Bersamaan dengan

    {{##}}

    - Bersamaan dengan
    {{# comments ... #}}{{ $name }} // inhere

    {{# this
     comments
     block
    #}}{{ $name }} // inhere
    - Tambahkan aksara baris baharu

    Contoh penggunaan penapis
    • Anda boleh menggunakan penapis dalam mana-mana templat. upperstrtoupper
    • Penggunaan asas
    • :lowerstrtolower
    • Penggunaan rantainl:n

    Melalui nilai bukan statik :

    Lepasi pembolehubah sebagai parameter penapis

    :

    {{ 'inhere' | ucfirst }} // Inhere {{ 'inhere' | upper }} // INHERE

    Penapis tersuai

    Gunakan dalam templat:
    {{ 'inhere' | ucfirst | substr:0,2 }} // In{{ '1999-12-31' | date:'Y/m/d' }} // 1999/12/31

    Arahan tersuai
    {{ $name | ucfirst | substr:0,1 }}{{ $user['name'] | ucfirst | substr:0,1 }}{{ $userObj->name | ucfirst | substr:0,1 }}{{ $userObj->getName() | ucfirst | substr:0,1 }}

    Anda boleh menggunakan arahan untuk melaksanakan beberapa logik khas.

    Gunakan dalam templat:
    {{
        $suffix = '¥';}}{{ '12.75' | add_suffix:$suffix }} // 12.75¥

    Github: github.com/phppkg/easytpl

    Pembelajaran yang disyorkan: "Tutorial Video PHP"

    Atas ialah kandungan terperinci Penjelasan terperinci tentang fungsi dan pemasangan serta penggunaan PHP EasyTpl. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

    Kenyataan:
    Artikel ini dikembalikan pada:learnku.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam