snicco/templating-bundle

v1.10.0 2024-05-08 11:34 UTC

README

codecov Psalm Type-Coverage Psalm level PhpMetrics - Static Analysis PHP-Versions

This WordPress bundle integrates snicco/templating in applications based on snicco/kernel.

Installation

composer install snicco/templating-bundle

Configuration

See config/templating.php for the available configuration options.

If this file does not exist in your configuration directory the default configuration will be copied the first time the kernel is booted in dev mode.

Add the TemplatingBundle to your bundles.php config file.

<?php
// /path/to/configuration/bundles.php

use Snicco\Bundle\Templating\TemplatingBundle;

return [
    
    'bundles' => [
        Snicco\Component\Kernel\ValueObject\Environment::ALL => [
           TemplatingBundle::class
        ]   
    ]   
];

Usage

Templating Middleware

The TemplatingBundle provides a TemplatingMiddleware that renders ViewResponses by using the templating engine of the snicco/templating library.

It should replace the simpler SimpleTemplating middleware of the http-routing-bundle.

View context

When resolving the TemplateEngine from the booted kernel the following context will be available in all views:

  • url => an instance of UrlGenerator
  • view => the TemplatEngine instance itself

Error handling

The TemplatingBundle will register a TemplatingExceptionDisplayer if the http-routing-bundle is used.

This exception displayer can be added in your http_error_handling configuration.

It will display exceptions based on the HTTP status code.

An exception with status code 403 will be rendered with this displayer, if either the path-to-templates/errors/403.php or path-to-templates/exceptions/403.php template file exists.

It is possible to create dedicated exception templates for exceptions thrown inside the WordPress admin area. Just add the -admin suffix to the corresponding file name like so:

path-to-templates/exceptions/403-admin.php

Contributing

This repository is a read-only split of the development repo of the Snicco project.

This is how you can contribute.

Reporting issues and sending pull requests

Please report issues in the Snicco monorepo.

Security

If you discover a security vulnerability within BetterWPCache, please follow our disclosure procedure.