2013-07-02 11:07:33 +04:00
|
|
|
Fenom - Template Engine for PHP
|
|
|
|
===============================
|
2013-01-28 12:04:07 +04:00
|
|
|
|
2016-04-13 11:34:38 +03:00
|
|
|
**Fenóm** - lightweight and fast template engine for PHP.
|
2013-02-07 20:04:00 +04:00
|
|
|
|
2016-04-13 11:34:38 +03:00
|
|
|
* **Subject:** Template engine
|
|
|
|
* **Syntax:** Smarty-like
|
2016-05-08 00:38:17 +03:00
|
|
|
* **Documentation:** **[English](./docs/en/readme.md)**, **[Russian](./docs/ru/readme.md)**
|
2016-04-13 11:34:38 +03:00
|
|
|
* **PHP version:** 5.3+
|
|
|
|
* **State:** [![Build Status](https://travis-ci.org/fenom-template/fenom.svg?branch=master)](https://travis-ci.org/fenom-template/fenom) [![Coverage Status](https://coveralls.io/repos/fenom-template/fenom/badge.svg?branch=master)](https://coveralls.io/r/fenom-template/fenom?branch=master)
|
|
|
|
* **Version:** [![Latest Stable Version](https://poser.pugx.org/fenom/fenom/v/stable.png)](https://packagist.org/packages/fenom/fenom)
|
|
|
|
* **Packagist:** [fenom/fenom](https://packagist.org/packages/fenom/fenom) [![Total Downloads](https://poser.pugx.org/fenom/fenom/downloads.png)](https://packagist.org/packages/fenom/fenom)
|
|
|
|
* **Composer:** `composer require fenom/fenom`
|
|
|
|
* **Discussion:** [Fenom Forum](https://groups.google.com/forum/#!forum/php-ion)
|
|
|
|
* **Versioning:** [semver2](http://semver.org/)
|
|
|
|
* **Performance:** see [benchmark](./docs/en/benchmark.md)
|
2014-08-06 23:36:04 +04:00
|
|
|
|
2016-04-13 11:34:38 +03:00
|
|
|
***
|
2013-02-07 17:37:16 +04:00
|
|
|
|
2016-04-13 11:34:38 +03:00
|
|
|
## Quick Start
|
2014-05-08 12:56:37 +04:00
|
|
|
|
2016-04-13 11:34:38 +03:00
|
|
|
### Install
|
2014-05-14 17:33:48 +04:00
|
|
|
|
2016-04-14 12:58:16 +03:00
|
|
|
If you use composer in your project then you can to install Fenom as package.
|
|
|
|
However, if you are not using composer you have to configure _autoloader_ to work with Fenom.
|
|
|
|
Fenom implements the `PSR-0` PHP standard to load classes which are located in the `src/` directory.
|
|
|
|
Templater already has own autoload-function, to register call method `Fenom::registerAutoload`:
|
|
|
|
```php
|
|
|
|
Fenom::registerAutoload();
|
|
|
|
```
|
|
|
|
|
2016-05-06 23:04:08 +03:00
|
|
|
### Setup
|
2016-04-14 12:58:16 +03:00
|
|
|
|
|
|
|
There is two way to create Fenom instance:
|
|
|
|
|
|
|
|
* Long way: use operator `new`
|
|
|
|
* Shot way: use static factory-method
|
|
|
|
|
|
|
|
**Long way.** Create you own template provider or default provider `Fenom\Provider` (that is provider read [there](./)).
|
|
|
|
Using provider instance create Fenom instance:
|
|
|
|
|
|
|
|
```php
|
|
|
|
$fenom = new Fenom(new Fenom\Provider($template_dir));
|
|
|
|
```
|
|
|
|
|
|
|
|
After that, set compile directory:
|
|
|
|
|
|
|
|
```php
|
|
|
|
$fenom->setCompileDir($template_cache_dir);
|
|
|
|
```
|
|
|
|
|
|
|
|
This directory will be used for storing compiled templates, therefore it should be writable for Fenom.
|
|
|
|
Now Fenom is ready to work and now you can to configure it:
|
|
|
|
|
|
|
|
```php
|
|
|
|
$fenom->setOptions($options);
|
|
|
|
```
|
|
|
|
|
2016-05-06 23:04:08 +03:00
|
|
|
**Short way.** Creating an object via factory method with arguments from long way.
|
2016-04-14 12:58:16 +03:00
|
|
|
|
|
|
|
```php
|
|
|
|
$fenom = Fenom::factory($template_dir, $template_cache_dir, $options);
|
|
|
|
```
|
|
|
|
|
|
|
|
Now Fenom is ready to work.
|
2014-05-14 17:33:48 +04:00
|
|
|
|
2016-05-06 23:04:08 +03:00
|
|
|
### Usage
|
|
|
|
|
|
|
|
### Example
|