有没有像Twig这样使用PHP语法的模板系统?

有没有像Twig这样使用PHP语法的模板系统?,php,twig,Php,Twig,我想使用像Twig这样的模板系统(特别是块功能),但是使用普通PHP 例如,我发现,但它似乎不支持块或任何类似的东西 编辑 我发现了一些与常规PHP代码类似的块语法:您正在寻找的模板语言称为PHP Symfony(默认情况下使用Twig)还有一个基于php的模板系统,其工作原理与Twig非常相似。它具有模板继承并使用“插槽”,这相当于Twig的块。它是一个独立的库,可以在完整的Symfony框架之外使用 PHP是一种模板语言(是的),块可以用缓冲区实现: <?php ob_start();

我想使用像Twig这样的模板系统(特别是块功能),但是使用普通PHP

例如,我发现,但它似乎不支持块或任何类似的东西

编辑
我发现了一些与常规PHP代码类似的块语法:

您正在寻找的模板语言称为PHP

Symfony(默认情况下使用Twig)还有一个基于php的模板系统,其工作原理与Twig非常相似。它具有模板继承并使用“插槽”,这相当于Twig的块。它是一个独立的库,可以在完整的Symfony框架之外使用


PHP是一种模板语言(是的),块可以用缓冲区实现:

<?php
ob_start();
?>
  this the content of the block for <?= date("Y-m-d") ?>
<?php
$content = ob_get_clean();
事实上,这就是大多数模板引擎所使用的


不过,使用模板库有巨大的优势(缓存、默认转义等)

Laravel框架中包含一个名为

您可以将普通的旧PHP与刀片模板语法混合使用,其中
{{…}
也可以转换为

在Twig中也有您知道的块,但它们被称为

@section('heading')
    {{ strtoupper("I'm not shouting") }}
@show

<?= strtolower('Shhh!'); ?>

在这一点上,我不确定您将如何尝试从自定义项目呈现模板。如果我发现了,我会更新我的答案。

据我所知,在
Laravel
中,使用off
Blade
查看视图是可选的。您可以使用像
view.php
这样的文件名来代替
view.blade.php
,并在那里使用普通的旧php语法。唯一的问题是,您不能同时拥有
view.php
view.blade.php
,因为它们都响应

return View::make('view);

你说的块功能是什么意思?Savant示例代码中的foreach循环对我来说已经足够好了。事实上,如果你想要普通的PHP,只需使用。其中的块是你在模板中定义的东西,但可以在完全不同的模板中呈现。例如:在常规布局中,为页面标题定义块,然后在每个模板中填充该块的内容。因此,您为“title”=>“This is the title”设置了content_,但它在布局中呈现,并不是一个非常有建设性的响应。
{
    "require": {
        "illuminate/view": "4.*"
    }
}
return View::make('view);