定制 pavel852/php-templates 二次开发

按需修改功能、优化性能、对接业务系统,提供一站式技术支持

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

pavel852/php-templates

Composer 安装命令:

composer require pavel852/php-templates

包简介

Simple templating system for PHP.

README 文档

README

templates.php je jednoduchý templating systém pro PHP, který odděluje logiku aplikace od její prezentace. Systém pracuje s HTML šablonami obsahujícími vlastní <tmpl:xxx> tagy a {promenna} zástupné symboly. Tento systém umožňuje generovat dynamický obsah, spravovat iterace a vkládat šablony do hlavní šablony.

Funkce a použití

Hlavní funkce knihovny templates.php

  1. tmpl_open($filename)

    • Načte šablonu ze souboru a vrátí objekt šablony pro další manipulaci.
    • Příklad použití:
      <?php
      $t = tmpl_open("example.html");
      ?>
  2. tmpl_close($t)

    • Uzavře objekt šablony a uvolní zdroje.
    • Použití:
      <?php
      tmpl_close($t);
      ?>
  3. tmpl_set($t, $path_or_key, $value)

    • Nastaví hodnotu pro zástupný symbol {promenna} nebo tag v šabloně.
    • Příklad:
      <?php
      tmpl_set($t, "title", "Moje stránka");
      tmpl_set($t, "header_text", "Vítejte!");
      ?>
  4. tmpl_set_array($t, $array)

    • Nastaví více hodnot najednou pomocí asociativního pole.
    • Příklad:
      <?php
      $data = [
          "title" => "Moje stránka",
          "header_text" => "Vítejte!",
          "content" => "Toto je obsah stránky."
      ];
      tmpl_set_array($t, $data);
      ?>
  5. tmpl_iterate($t, $path)

    • Umožňuje iteraci přes specifický tag v šabloně.
    • Příklad:
      <?php
      tmpl_iterate($t, "menu_items");
      ?>
  6. tmpl_parse($t, $path = null)

    • Zpracuje šablonu a vrátí výsledný HTML.
    • Příklad:
      <?php
      echo tmpl_parse($t);
      ?>
  7. tmpl_include($t, $path, $filename)

    • Vloží jinou šablonu do aktuální šablony na specifikované místo.
    • Příklad:
      <?php
      tmpl_include($t, "header", "header_template.html");
      ?>
  8. tmpl_exists($t, $path)

    • Kontroluje, zda v šabloně existuje daný tag nebo cesta.
    • Příklad:
      <?php
      if (tmpl_exists($t, "footer")) {
          tmpl_set($t, "footer", "Zápatí existuje!");
      }
      ?>

Příklady použití

Příklad 1: Základní šablona a vkládání hodnot

HTML šablona - example.html

<html>
<head><title>{title}</title></head>
<body>
    <h1>{header_text}</h1>
    <p>{content}</p>
</body>
</html>

PHP skript

<?php
require_once 'templates.php';
$t = tmpl_open("example.html");

tmpl_set($t, "title", "Moje Stránka");
tmpl_set($t, "header_text", "Vítejte!");
tmpl_set($t, "content", "Toto je obsah stránky.");

echo tmpl_parse($t);
tmpl_close($t);
?>

Příklad 2: Iterace a vkládání dalších šablon

HTML šablona - menu.html

<ul>
    <tmpl:menu_items>
        <li><a href="{link}">{name}</a></li>
    </tmpl:menu_items>
</ul>

PHP skript

<?php
$t = tmpl_open("menu.html");
$menu_items = [
    ["name" => "Domů", "link" => "/home"],
    ["name" => "O nás", "link" => "/about"],
    ["name" => "Kontakt", "link" => "/contact"]
];
tmpl_set_iarray($t, "menu_items", $menu_items);
echo tmpl_parse($t);
tmpl_close($t);
?>

Autor a Kontakt

Composer Setup

  1. Updating Dependencies: Run composer update to update all dependencies as per the project's composer.json file.
  2. Installing the New Package: Run composer require pavel852/php-templates to install the pavel852/php-templates package. This package allows for handling HTML templates with ease.

Usage Instructions

To utilize the package in your project, follow these steps:

  • Add all dependencies by including require 'vendor/autoload.php'; at the beginning of your PHP file.
  • Import the package with use pavel852/php-templates; to access its functionalities.
  • You can open a template using $t = tmpl_open('xxx.html');, where xxx.html is the HTML template file you want to work with.

pavel852/php-templates 适用场景与选型建议

pavel852/php-templates 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 8 次下载、GitHub Stars 达 0, 最近一次更新时间为 2024 年 10 月 26 日, 在 PHP 生态内属于活跃度较高的组件。

我们在过去多个企业项目中使用过 pavel852/php-templates 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。

围绕 pavel852/php-templates 我们能提供哪些服务?
定制开发 / 二次开发

基于 pavel852/php-templates 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。

BUG 修复 & 性能优化

线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。

项目外包 & 长期维护

承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。

yvsm@zunyunkeji.com QQ:316430983 微信:yvsm316 西安尊云信息科技 · 专注 PHP / Go / 分布式系统研发

统计信息

  • 总下载量: 8
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 9
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 1
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2024-10-26