Skip to content

Latest commit

 

History

History
52 lines (34 loc) · 1.92 KB

README.md

File metadata and controls

52 lines (34 loc) · 1.92 KB

Component Handle Loader for Twig

Packagist

Twig loader for loading templates by using a component handle based on the Fractal naming convention.

For example:

├── components
│   └── small-components
|       └── button
|           └── button.twig # Will be @button

You can now include the button template with the @[component-handle] syntax:

{% include '@button' %}

Requirements

  • Twig >=2.14
  • PHP >=7.4

Installation

The recommended way to install this loader is via Composer:

composer require gglnx/twig-component-handle-loader

Then you can use this loader directly with Twig:

require_once '/path/to/vendor/autoload.php';

$loader = new \Gglnx\TwigComponentHandleLoader\Loader\ComponentHandleLoader('../path-to-my-components');
$twig = new \Twig\Environment($loader);

You can also combine this loader with other loaders using ChainLoader.

Differences between this loader and the Fractal implementation

Prefixing and overriding the component handle require to read the corresponding component configuration. This could be out-of-scope for this loader and maybe better placed in a specific Twig Fractal loader.