PHPackages                             zjkal/twig2html-core - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Templating &amp; Views](/categories/templating)
4. /
5. zjkal/twig2html-core

ActiveLibrary[Templating &amp; Views](/categories/templating)

zjkal/twig2html-core
====================

Core library for converting Twig templates to static HTML files

0121PHP

Since Sep 27Pushed 7mo agoCompare

[ Source](https://github.com/zjkal/twig2html-core)[ Packagist](https://packagist.org/packages/zjkal/twig2html-core)[ RSS](/packages/zjkal-twig2html-core/feed)WikiDiscussions main Synced 1mo ago

READMEChangelogDependenciesVersions (1)Used By (1)

Twig2Html Core
==============

[](#twig2html-core)

这是一个用于将Twig模板转换为静态HTML文件的PHP核心库。它提供了简单而强大的API，可以单独转换文件或批量转换整个目录。

安装
--

[](#安装)

使用Composer安装：

```
composer require zjkal/twig2html-core
```

使用方法
----

[](#使用方法)

### 单文件转换

[](#单文件转换)

```
use zjkal\twig2html\core\Converter;

$converter = new Converter();
$converter->convert(
    'path/to/template.twig',
    'path/to/output.html',
    ['name' => 'World']
);
```

### 目录批量转换

[](#目录批量转换)

```
$converter = new \Zjkal\Twig2HtmlCore\Converter();
$result = $converter->convertDirectory(
    'templates',     // Twig模板目录
    'output',        // 输出目录
    'data',          // 数据目录（可选），存放与模板同名的PHP数据文件，目录不存在时使用全局变量
    ['name' => 'World'] // 全局变量（可选）
);

// 转换结果
var_dump($result['success']); // 成功转换的文件列表
var_dump($result['failed']);  // 转换失败的文件列表
var_dump($result['skipped']); // 跳过的部分模板文件列表
```

#### 数据文件

[](#数据文件)

数据文件是与Twig模板同名的PHP文件，用于为模板提供变量数据。当数据目录或数据文件不存在时，将仅使用全局变量进行渲染。

目录结构示例：

```
templates/
  ├── page.twig          # 模板文件
  └── subdir/
      └── about.twig     # 子目录中的模板文件

data/
  ├── page.php          # 对应page.twig的数据文件
  └── subdir/
      └── about.php     # 对应about.twig的数据文件

```

数据文件的内容示例：

```
