Skip to content

gglnx/twig-component-handle-loader

Repository files navigation

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.

About

Load Twig templates using Fractal-style component handles

Topics

Resources

License

Stars

Watchers

Forks

Languages