adelynx/blade

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

v2.0 2021-01-20 13:52 UTC

This package is auto-updated.

Last update: 2024-04-05 11:16:02 UTC


README

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

Installation

The package can be installed via Composer by typing this command in your terminal or console:

composer require adelynx/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 https://laravel.com/docs/5.7/blade.

<?php

/*
|--------------------------------------------------------------------------
| Register The Auto Loader
|--------------------------------------------------------------------------
|
| Composer provides a convenient, automatically generated class loader
| for our application. We just need to utilize it! We'll require it
| into the script here so that we do not have to worry about the
| loading of any our classes "manually". Feels great to relax.
|
*/

require 'vendor/autoload.php';

use Adelynx\Blade\Blade;

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

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

Now you can easily create a directive by calling the compiler() function

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

{{-- In your Blade Template --}}
<?php $dateObj = new DateTime('2018-01-01 23:59:59') ?>
@datetime($dateObj)

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.