leafs/blade

Leaf PHP Framework adaptation of jenssegers/blade package

Maintainers

Details

github.com/leafsphp/blade

Source

Fund package maintenance!
Open Collective
leafsphp

Installs: 2 381

Dependents: 4

Suggesters: 0

Security: 0

Stars: 0

Watchers: 1

Forks: 97

v1.2.4 2021-01-20 17:21 UTC

This package is auto-updated.

Last update: 2022-05-16 09:51:05 UTC


README



68747470733a2f2f6c6561662d646f63732e6e65746c6966792e636f6d2f696d616765732f6c6f676f2e706e67

Leaf Blade





Latest Stable Version Build Status

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

Installation

Install using composer:

composer require leafs/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 Leaf\Blade;

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

You can also initialise it globally and point to template directories later.

$blade = new Blade;

// somewhere, maybe in a different file
$blade->configure("app/views", "app/views/cache");
echo $blade->make('index', ['name' => 'Michael Darko'])->render();

Alternatively you can use the shorthand method render:

echo $blade->render('index', ['name' => 'Michael Darko']);

We can have this as our template index.blade.php

<!Doctype html>
<html>
    <head>
        <title>{{ $name }}</title>
    </head>
    <body>
        <div class="container">{{ $name }}</div>
    </body>
</html>

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.