jenssegers / blade
The standalone version of Laravel's Blade templating engine for use outside of Laravel.
Fund package maintenance!
jenssegers
Open Collective
Installs: 773 333
Dependents: 130
Suggesters: 2
Security: 0
Stars: 825
Watchers: 24
Forks: 124
Open Issues: 31
Requires
- php: >=8.1
- illuminate/config: ^9.0|^10.0|^11.0
- illuminate/view: ^9.0|^10.0|^11.0
Requires (Dev)
- laravel/pint: ^1.13
- phpunit/phpunit: ^10.0
README
The standalone version of Laravel's Blade templating engine for use outside of Laravel.
Installation
Install using composer:
composer require jenssegers/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 Jenssegers\Blade\Blade; $blade = new Blade('views', 'cache'); 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
- Phalcon Slayer Framework comes out of the box with Blade.