rcalicdan/blade

A standalone fork of jenssegers/blade, Laravel's Blade templating engine for use outside of Laravel. This maintained version includes fixes for modern PHP environments.

1.0.1 2025-04-26 09:41 UTC

This package is auto-updated.

Last update: 2025-04-26 09:44:14 UTC


README

Latest Stable Version Coverage Status

A maintained fork of jenssegers/blade, the standalone version of Laravel's Blade templating engine for use outside of Laravel.

Installation

Install using composer:

composer require rcalicdan/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 http://laravel.com/docs/5.8/blade.

use Rcalicdan\Blade\Blade;
use Rcalicdan\Blade\Container as BladeContainer;

$container = new BladeContainer();
$blade = new Blade('views', 'cache', $container);

echo $blade->make('homepage', ['name' => 'John Doe'])->render();

Alternatively you can use the shorthand method render:

echo $blade->render('homepage', ['name' => 'John Doe']);

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

$blade->directive('datetime', function ($expression) {
    return "<?php echo with({$expression})->format('F d, Y g:i a'); ?>";
});

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 and creator are available as well. Check out the original documentation for more information.

Integrations

Credits

This package is a fork of jenssegers/blade which appears to be no longer maintained. This fork includes compatibility fixes for modern PHP environments while maintaining the same functionality.