leafs / blade
Leaf PHP Framework adaptation of jenssegers/blade package
Fund package maintenance!
Open Collective
leafsphp
Installs: 12 076
Dependents: 6
Suggesters: 0
Security: 0
Stars: 3
Watchers: 2
Forks: 124
Open Issues: 0
Requires
- php: >=7.4|^8.0
- jenssegers/blade: ^1.4
README
Leaf Blade
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.