试图了解PHP模板,Plates

时间:2015-10-27 13:58:02

标签: php

我是PHP新手,试图了解如何使用PHP的简单模板系统,我喜欢" Plates",主要是因为它声称是模板系统,而​​不是模板语言,但是文档有点令人困惑。 作为这个代码"控制器"树叶?它是另一个PHP文件吗?

// Create new Plates instance
$templates = new League\Plates\Engine('/path/to/templates');

// Render a template
echo $templates->render('profile', ['name' => 'Jonathan']);

不应该使用此代码" profile.php"在某个地方调用控制器文件?

profile.php

<?php $this->layout('template', ['title' => 'User Profile']) ?>

  <h1>User Profile</h1>
  <p>Hello, <?=$this->e($name)?></p>

模板文件:

的template.php

<html>
 <head>
  <title><?=$this->e($title)?></title>
  </head>
  <body>

  <?=$this->section('content')?>

  </body>
 </html>

有没有人使用&#34; Plates&#34;更好的代码示例?在PHP中我可以看到这个模板系统是如何工作的?

谢谢!

1 个答案:

答案 0 :(得分:2)

Plates doc中的示例非常简单。我看到它的方式 - 你可能有一个MVC控制器,或者你可能没有;有问题的代码可能存在于一个简单的脚本中(为了清楚起见,可以说是index.php)。让我们想象一下网站结构如下:

  • 的index.php
  • / templates / folder
  • /templates/profile.php
  • /templates/template.php

index.php中的代码变为:

// Create new Plates instance
$templates = new League\Plates\Engine('/templates');

// Render a template
echo $templates->render('profile', ['name' => 'Jonathan']);

你可能在MVC控制器中拥有它,但这是完全不同的主题。