Fork me on GitHub
The League of Extraordinary Packages

Our Packages:

Presented by The League of Extraordinary Packages

Getting Started

The Engine

Templates

Extensions

Overview

Plates templates are very simple PHP objects. Generally you’ll want to create these using the two factory methods, make() and render(), in the engine. For example:

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

// Render a template in a subdirectory
echo $templates->render('partials/header');

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

For more information about how Plates is designed to be easily added to your application, see the section on dependency injection.

Manually creating templates

It’s also possible to create templates manually. The only dependency they require is an instance of the engine object. For example:

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

// Create a new template
$template = new League\Plates\Template\Template($templates, 'profile');

// Render the template
echo $template->render(['name' => 'Jonathan']);

// You can also render the template using the toString() magic method
echo $template;

Check if a template exists

When dynamically loading templates, you may need to check if they exist. This can be done using the engine’s exists() method:

if ($templates->exists('articles::beginners_guide')) {
    // It exists!
}

You can also run this check on an existing template:

if ($template->exists()) {
    // It exists!
}

Get a template path

To get a template path from its name, use the engine’s path() method:

$path = $templates->path('articles::beginners_guide');

You can also get the path from an existing template:

$path = $template->path();