我可以在一个独立的项目使用小枝模板引擎,例如设计更多的1000 html页面,即网站与静态页面,如果你有任何简单的例子,我会感谢你
5n0oy7gb1#
我发现this Sitepoint tutorial非常简单,我已经简化并总结了步骤:它假定具备基本的命令行和Composer知识。
composer require twig/twig
composer.json
composer.lock
vendor
templates
index.html.twig
bootstrap.php
index.php
在浏览器中访问第二个PHP文件,应该会得到一个渲染过的Twig模板。
** Bootstrap .php:**
<?php // Load our autoloader require_once __DIR__.'/vendor/autoload.php'; // Specify our Twig templates location $loader = new Twig_Loader_Filesystem(__DIR__.'/../templates'); // Instantiate our Twig $twig = new Twig_Environment($loader);
索引.php文件:
<?php require_once __DIR__.'/bootstrap.php'; // Sample data $foo = [ [ 'name' => 'Alice' ], [ 'name' => 'Bob' ], [ 'name' => 'Eve' ], ]; // Render our view echo $twig->render('index.html', ['foo' => $foo] );
模板/索引.html.twig:
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Twig Example</title> </head> <body> <ul> {% for item in foo %} <li>{{ item.name }}</li> {% endfor %} </ul> </body> </html>
下一步是将index.php修改为一个合适的“前端控制器”,这样它就可以处理多个模板。本教程还提到了缓存生成的模板之类的事情。
kupeojn62#
我今天确实努力想弄清楚这是如何运作的,因为官方文档并不完美...所以我找到了解决方案。结构简单:twig/app/app.phptwig/供应商(如文档中所述,使用composer创建)twig/views/page.html.twig应用程序. php:
<?php require_once '../vendor/autoload.php'; use Twig\Loader\FilesystemLoader; use Twig\Environment; $loader = new FilesystemLoader('../views/'); $twig = new Environment($loader); echo $twig->render('page.html.twig', ['text' => 'Fabien']);
网页.html.twig:
<h1>Hello {{ text }}</h1>
2条答案
按热度按时间5n0oy7gb1#
我发现this Sitepoint tutorial非常简单,我已经简化并总结了步骤:
它假定具备基本的命令行和Composer知识。
composer require twig/twig
。这将创建一个composer.json
和composer.lock
(如果你还没有的话),以及一个vendor
目录,Composer将在其中下载Twig和它使用的一些Symfony依赖项。Composer还将生成一些自动加载文件。templates
目录(出于安全考虑,我个人喜欢将此目录放在docroot之上)index.html.twig
模板bootstrap.php
文件(几行PHP代码来加载和初始化Twig(并告诉它在哪里可以找到模板)index.php
文件来演示加载和解析模板。在浏览器中访问第二个PHP文件,应该会得到一个渲染过的Twig模板。
** Bootstrap .php:**
索引.php文件:
模板/索引.html.twig:
下一步是将index.php修改为一个合适的“前端控制器”,这样它就可以处理多个模板。
本教程还提到了缓存生成的模板之类的事情。
kupeojn62#
我今天确实努力想弄清楚这是如何运作的,因为官方文档并不完美...所以我找到了解决方案。
结构简单:
twig/app/app.php
twig/供应商(如文档中所述,使用composer创建)twig/views/page.html.twig
应用程序. php:
网页.html.twig: