PHPackages                             satori/template - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Templating &amp; Views](/categories/templating)
4. /
5. satori/template

ActiveLibrary[Templating &amp; Views](/categories/templating)

satori/template
===============

Template View

v0.1.1(7y ago)082MITPHPPHP &gt;=7.0

Since Apr 6Pushed 7y ago1 watchersCompare

[ Source](https://github.com/satori-php/template)[ Packagist](https://packagist.org/packages/satori/template)[ RSS](/packages/satori-template/feed)WikiDiscussions master Synced 2d ago

READMEChangelogDependenciesVersions (2)Used By (0)

Template engine
===============

[](#template-engine)

Requires PHP 7

Usage
-----

[](#usage)

### Layout

[](#layout)

src/App/LayoutTemplate.php

```
declare(strict_types=1);

namespace App;

use Satori\Template\AbstractTemplate;

class LayoutTemplate extends AbstractTemplate
{
    protected $layoutBlock = '/app/layout';

    protected $commonVars = [];
    protected $layoutVars = [];

    protected function init(array $data)
    {
        $company = $this->params['company'];

        $this->commonVars['company'] = $company;

        $this->layoutVars['app_name'] = $company;
        $this->layoutVars['title'] = $company;
        $this->layoutVars['copyright'] = date('Y') . ' ' . $company;
    }
}
```

template/app/layout.php

```
>

        head() ?>

                        News

                        Contacts

                        About

            inset('content') ?>

            Copyright &copy;

```

### Page

[](#page)

src/Page/ReadTemplate.php

```
declare(strict_types=1);

namespace Page;

use App\LayoutTemplate;

class ReadTemplate extends LayoutTemplate
{
    protected $headBlock = '/app/head';
    protected $contentBlock = '/page/read';

    protected $headVars = [];
    protected $contentVars = [];

    protected function init(array $data)
    {
        parent::init($data);

        $page = $data['page'];

        $this->layoutVars['title'] = $page->title;

        $this->headVars['description'] = $page->description;

        $this->contentVars['page'] = $page;
    }
}
```

template/app/head.php

```
