mml / twigstem
原型工具
v1.1.0
2021-04-15 06:57 UTC
Requires
- php: >=7.2.5
- twig/twig: ^3.0
README
Twigstem - 使用 Twig 模板进行快速原型设计
安装
对于新项目,运行以下命令以创建新的 composer.json 文件
composer init
编辑您的 composer 以要求 twigstem
{
...
"require": {
"mml/twigstem": "^1.1",
}
}
运行 composer install
composer install
示例项目
创建一个名为 'public' 的文件夹来托管您的站点,并创建另一个名为 "src" 的文件夹来包含所有源文件(视图、数据等)。在 public 文件夹中,创建一个 php 文件来处理请求
<?php
// path to application src directory (directory containing views and data)
$appDir = dirname(dirname(__FILE__)) . DIRECTORY_SEPARATOR . 'src' . DIRECTORY_SEPARATOR;
// Instantiate and run Twigstem
$Twigstem = \Twigstem\Server::getInstance();
$Twigstem->init($appDir)->serve();
接下来,我们需要将所有请求重定向到该文件。对于 Apache 网站,我们可以使用 .htaccess 文件来完成此操作。例如
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^(.+) - [PT,L]
RewriteRule ^(.*) /index.php [L]
</IfModule>
最终的目录结构
├── public
│ ├── .htaccess
│ ├── index.php
├── src
│ ├── data
│ ├── views
├── vendor
├─- composer.json
概述
Twigstem 将尝试加载与请求 URL 匹配的模板。
/about => loads views/about.twig
/more/info => loads views/more/info.twig
将新模板添加到 src/views 目录中。
数据
数据可以通过以下任何方式与页面相关联
- 添加一个与页面同名的 json 文件
views/products.twig
views/products.json
- 将一个与页面同名的 json 文件添加到数据文件夹中。
views/products.twig
data/products.json
- 在页面上添加注释以指定数据源。只有数据文件夹中的 json 文件可以通过这种方式指定
{# data src: index.json #}
在指定数据文件时,您可以可选地包含一个 ID。如果提供了 ID,则返回的数据包含在页面上下文中的此 ID 下。例如
{# data src: products.json #}
{# data id:sizes src: sizelist.json #}
扩展 Twig
Twigstem 将寻找一个名为 TwigExtension 的类。如果找到,这将实例化并添加到 twig 作为扩展。