penobit/blade

The standalone version of Laravel's Blade templating engine for use outside of Laravel.

v1.6 2021-07-12 16:23 UTC

This package is auto-updated.

Last update: 2024-12-12 23:58:14 UTC


README

The standalone version of Laravel's Blade templating engine for use outside of Laravel.

Installation

Install using composer:

composer require penobit/blade

Usage

Create a Blade instance by passing it the folder(s) where your view files are located, and a cache folder. Render a template by calling the make method. More information about the Blade templating engine can be found on original laravel's blade documentation

use Penobit\Blade\Blade;

$blade = new Blade('viewsDirectory', 'cacheDirectory');

echo $blade->make('homepage', ['author' => 'Penobit', 'variable2' => 'variable value'])->render();

Alternatively you can use the shorthand method render:

echo $blade->render('homepage', ['author' => 'Penobit', 'variable2' => 'variable value']);

You can also extend Blade using the directive() function:

$blade->directive('datetime', function ($expression) {
    return "<?php echo date('Y-m-d H:i', {$expression}); ?>";
});

Which allows you to use the following in your blade template:

Current date: @datetime($date)

The Blade instances passes all methods to the internal view factory. So methods such as exists, file, share, composer, auth, creator, etc are available as well. Check out the original documentation for more information.