brtriver / phptalserviceprovider
PHPTAL for Silex
dev-master
2013-05-18 08:56 UTC
Requires
- php: >=5.3.2
This package is not auto-updated.
Last update: 2020-01-01 18:13:07 UTC
README
PHPTAL 是 PHP 模板引擎之一,是针对 PHP 的优秀 Zope 页面模板 (ZPT) 系统的实现。而 Silex 是一个 PHP 微框架,非常轻量级,基于 Symfony2。这个扩展允许您在 Silex 中使用 PHPTAL 作为模板引擎。
安装
安装此服务提供者的最佳方式是使用 composer。首先,在您的项目下创建 composer.json 文件
{
"require": {
"brtriver/PHPTALServiceProvider": "dev-master"
}
}
如果您还想要安装 PHPTAL,只需添加如下所示
{
"repositories": [
{
"type": "package",
"package": {
"name": "pornel/PHPTAL",
"version": "1.2.2",
"dist": {
"url": "http://phptal.org/files/PHPTAL-1.2.2.zip",
"type": "zip"
},
"source": {
"url": "https://github.com/pornel/PHPTAL.git",
"type": "git",
"reference": "Release 1.2.2"
}
}
}
],
"require": {
"brtriver/PHPTALServiceProvider": "dev-master",
"pornel/PHPTAL": "1.2.2"
}
}
然后安装 composer.php 并安装
$ wget https://composer.php.ac.cn/composer.phar
$ php composer.phar install
下载 PHPTALServiceProvider 并将其设置到该目录,最后该路径如下: ./vendor/brtriver/PHPTALServiceProvider/PHPTALServiceProvider.php
然后,将 PHPTAL 库设置到 ./vendor/phptal 目录,并将 PHPTAL 模板设置在 views 目录下。
/project_directory
│ ├── .htaccess
│ ├── silex.phar
│ ├── composer.json
│ ├── composer.phar
│ └── index.php
├── vendor
│ ├── bin
│ ├── brtriver
│ │ └── PHPTALServiceProvider
│ │ └─ PHPTALServiceProvider.php
│ └── pornel
│ └── PHPTAL
└── views
└── teset.html (PHPTAL template files is set here)
示例代码
在 index.php 中,您需要引入此 PHPTALServiceProvider 文件并注册它,然后您的代码如下所示
index.php
调用 register 方法后,$app['phptal'] 是 PHPTAL 的实例。您可以使用它作为 PHPTAL 本身。您必须首先设置模板路径。
<?php
require_once __DIR__.'/silex.phar';
require_once __DIR__.'/vendor/brtriver/PHPTALServiceProvider/PHPTALServiceProvider.php';
use Silex\Provider\PHPTALServiceProvider;
$app = new Silex\Application();
$app['phptal.class_path'] = __DIR__.'/vendor/pornel/PHPTAL';
$app->register(new PHPTALServiceProvider());
$app->get('/hello/{name}', function($name) use($app) {
// set your view file. view file is set under /views directory
$app['phptal.view'] = "test.html";
$app['phptal']->title = "PHPTAL in Silex";
$app['phptal']->name = $name;
return $app['phptal']->execute();
});
$app->run();
test.html
<?xml version="1.0"?>
<html>
<head>
<title tal:content="title">
Place for the page title
</title>
</head> <body>
<h1 tal:content="title">sample title</h1>
<table>
<thead>
<tr>
<th>Name</th>
</tr>
</thead>
<tbody>
<tr>
<td tal:content="name">person's name</td>
</tr>
<tr tal:replace="">
<td>sample name</td>
</tr>
</tbody>
</table>
</body>
</html>
许可
PHPTALExtension 使用 MIT 许可证。