fenom/README.md

66 lines
1.7 KiB
Markdown
Raw Normal View History

2013-04-04 10:56:44 +04:00
Cytro - awesome template engine for PHP
==========================
2013-01-28 12:04:07 +04:00
2013-04-28 18:08:57 +04:00
> Composer package: `{"bzick/cytro": "dev-master"}`. See on [Packagist.org](https://packagist.org/packages/bzick/cytro)
2013-02-07 20:04:00 +04:00
2013-04-04 10:56:44 +04:00
[![Build Status](https://travis-ci.org/bzick/aspect.png?branch=master)](https://travis-ci.org/bzick/cytro)
2013-02-24 14:02:18 +04:00
## [About](./docs/about.md) :: [Documentation](./docs/main.md) :: [Benchmark](./docs/benchmark.md) :: [Articles](./docs/articles.md)
2013-02-28 22:29:51 +04:00
* Simplest known [syntax](./docs/syntax.md)
2013-02-26 23:56:06 +04:00
* [Fast](./docs/benchmark.md)
* [Secure](./docs/settings.md)
2013-03-15 01:24:52 +04:00
* [Simple](./ideology.md)
2013-02-26 23:56:06 +04:00
* [Flexible](./docs/main.md#extends)
* [Lightweight](./docs/benchmark.md#satistic)
2013-02-27 00:17:31 +04:00
* [Powerful](./docs/main.md)
2013-02-27 20:55:47 +04:00
* Easy to use:
2013-02-24 14:09:28 +04:00
2013-02-28 22:29:51 +04:00
Simple template
2013-01-28 12:04:07 +04:00
2013-02-01 19:13:07 +04:00
```smarty
<html>
<head>
2013-04-04 10:56:44 +04:00
<title>Cytro</title>
2013-02-01 19:13:07 +04:00
</head>
<body>
2013-04-04 10:56:44 +04:00
{if $templaters.cytro?}
{var $tpl = $templaters.cytro}
<div>Name: {$tpl.name}</div>
<div>Description: {$tpl.name|truncate:80}</div>
2013-02-01 19:13:07 +04:00
<ul>
{foreach $tpl.features as $feature}
<li>{$feature.name} (from {$feature.timestamp|gmdate:"Y-m-d H:i:s"})</li>
2013-02-01 19:13:07 +04:00
{/foreach}
</ul>
{/if}
</body>
</html>
```
2013-01-28 12:04:07 +04:00
2013-02-01 19:13:07 +04:00
Display template
2013-01-28 12:04:07 +04:00
```php
2013-02-01 19:14:15 +04:00
<?php
2013-04-04 10:56:44 +04:00
$cytro = Cytro::factory('./templates', './compiled', Cytro::CHECK_MTIME);
$cytro->display("pages/about.tpl", $data);
2013-01-28 12:04:07 +04:00
```
Get content
2013-01-28 12:04:07 +04:00
```php
2013-02-01 19:14:15 +04:00
<?php
2013-04-04 10:56:44 +04:00
$cytro = Cytro::factory('./templates', './compiled', Cytro::CHECK_MTIME);
$content = $cytro->fetch("pages/about.tpl", $data);
2013-01-28 12:04:07 +04:00
```
2013-02-01 19:13:07 +04:00
Runtime compilation
2013-01-28 12:04:07 +04:00
```php
2013-02-01 19:14:15 +04:00
<?php
2013-04-04 10:56:44 +04:00
$cytro = new Cytro();
$tempate = $cytro->compileCode('Hello {$user.name}! {if $user.email?} Your email: {$user.email} {/if}');
2013-01-28 15:51:17 +04:00
$tempate->display($data);
// or
2013-01-28 15:51:17 +04:00
$content = $tempate->fetch($data);
2013-01-28 12:04:07 +04:00
```