如何在VPS上安装和开始Twig

如果PHP文件变得更加复杂(并且它将适用于任何应用程序),您将有一个很大的问题,管理您的网站的布局。如果你想让设计师使用它,这个设计器将不得不搜索这个文件,这是我们想要的

关于Twig

树枝是一个现代化的模板引擎为PHP设计,既设计师和开发人员友好。 它是PHPTemplate构建Web应用程序的表示逻辑的一种非常好的替代方法,因为它代表了一个更清晰的模板体验。 在这方面,它带有一个非常容易理解的语法,并限制您在模板filess中执行动态PHP操作,您不应该这样做。

如果你喜欢使用PHP框架构建Web应用程序,你应该检查出Symfony2的 ,因为它附带了默认安装的嫩枝。 在这个网站有一些教程关于安装和使用Symfony2,所以你可以继续检查它们。

在本教程中,我们将讨论如何在VPS上安装Twig并开始使用它。 为此,我们假设您已经运行自己的云服务器,最好是基于Linux。 我们将使用已经安装的LAMP,虽然数据库在本教程中不会真正使用。 Twig需要PHP 5.2.4或更高版本运行,你应该也适用于其他Web服务器,而不是Apache。

为什么Twig?

或者为什么任何模板引擎? 很简单:分离关注点。 让我们首先创建我们的Web服务器的文档根目录(在/ var / WWW)被称为树枝项目文件夹演示:

cd /var/www
mkdir twig
cd twig

为我们的小应用程序添加几个文件夹:一个用于PHP文件,一个用于我们的Twig模板文件(分别):

mkdir app
mkdir views

里面的应用程序文件夹下创建一个PHP文件:

nano app/app.php

在其中,让我们贴意味着输出的Hello World到页面下面的代码:

<?php echo "<h1>Hello world!</h1>" ?>

保存文件并将浏览器指向此文件。 如果你沿着这将跟随在你-IP地址/枝/应用程序/应用程序。PHP的 您应该看到在H1标记中正确打印的语句。

现在这个方法有什么问题? 如果这个PHP文件变得更加复杂(并且它会为任何应用程序),您将有一个大的问题,管理您的网站的布局。 我们只是硬编码的H1标签到PHP echo语句这是一件坏事。 如果你想让设计师使用它,这个设计器将不得不搜索这个文件,这是我们想要防止。 所以解决方案是演示(布局)与逻辑(编程)的分离,最好的方法是使用模板引擎(如Twig)。 我们将在我们安装Twig后回到我们的小应用程序。

安装

推荐的安装Twig的方法是通过Composer,PHP依赖性管理工具。 如果你不知道这是什么,还有另一个教程 ,你可以检查出更多的信息。 但不要担心,这不是一个大问题,你会看到一会儿。

让我们下载Composer安装到我们的应用程序的根文件夹( 树枝 ):

cd /var/www/twig
curl -s http://getcomposer.org/installer | php

这应该下载一个名为composer.phar一个文件,该文件是Composer可执行文件。 接下来,创建一个名为composer.json它旁边的文件:

nano composer.json

并粘贴以下行:

{
    "require": {
        "twig/twig": "1.*"
    }
}

这使我们的应用程序依赖于Twig模板引擎。 现在让我们使用composer命令来安装依赖项:

php composer.phar install

树枝文件下载到供应商/枝文件夹中。 如果添加其他的依赖,他们也将被安装在供应商的文件夹中。

现在我们需要“连接”到我们的应用程序。 因为我们使用Composer,我们可以使用它的自动加载器功能来加载我们安装的所有依赖项。 因此,让我们打开我们的app.php文件:

nano app/app.php

删除里面的所有内容,并将此行添加到顶部:

<?php require_once '../vendor/autoload.php'; ?>

使用这一行,我们加载Composer自动加载器,它依次加载Twig。 如果你安装Twig一些其他的方式,你将不得不直接要求Twig自动加载器:

require_once '/path/to/lib/Twig/Autoloader.php';
Twig_Autoloader::register();

但我们不需要这样做与Composer。 在我们刚才写的require语句下面,我们需要找到一个Twig模板文件,并将我们想要打印的变量传递给页面。 粘贴以下代码:

<?php $loader = new Twig_Loader_Filesystem('../views/'); ?>

<?php $twig = new Twig_Environment($loader); ?>

<?php echo $twig->render('page.html', array('text' => 'Hello world!')); ?>

这是做什么在这里? 首先,我们要创造我们的路径传递到包含我们的模板文件(我们先前目前是空创建的视图文件夹)的文件夹的Loader对象。 接下来,我们创建一个存储配置的环境对象。 最后,最有趣的部分是,环境对象的render方法加载作为第一个参数传递的模板文件,并使用作为第二个参数传递的变量呈现它。 因此,我们现在需要创建page.html即可文件,里面我们有一个可用的变量,它包含我们想要打印出来的声明。 所以,让我们做:

nano views/page.html

在里面,粘贴以下内容:

<h1>{{ text }}</h1>

如果你保存文件并重新加载在浏览器中app.php文件,你应该得到的H1标签印之间在同一文本。 但现在,我们有这个单独的文件,我们可以玩来显示它,但我们想要的。 我们通过render函数传递的变量现在可以打印在双花括号之间。

所以你可以继续前进,玩这个文件和自己做实验。 您可以将多个变量传递给模板,在控件结构中使用它们,通过模板函数处理它们,甚至应用Twig过滤器

结论

在本教程中,我们看到了如何使用Composer安装Twig,以及如何使用单独的模板文件在页面上打印出简单的变量。 在下一个教程中,我们将更深入地使用Twig语法来构建模板文件。

文章提交者: 丹尼