blade-extensions icon indicating copy to clipboard operation
blade-extensions copied to clipboard

Laravel Blade extensions like $loop->odd/$loop->index in foreach, view blocks and partials, etc

Laravel logo Laravel Blade Extensions

Build Status GitHub Version Total Downloads License

A Laravel package providing additional Blade functionality.

Tested on all Laravel 5.x & 6.x & 7.x versions.

The package follows the FIG standards PSR-1, PSR-2, and PSR-4 to ensure a high level of interoperability between shared PHP code.

Version 7.3

  • Documentation
  • Changelog
  • Code of Conduct
  • Contributing
  • Pull Request Template
  • Issue Template

Features

  • Compatible with all Laravel 5 & 6 versions
  • 20+ Configurable, nameable, extendable, replaceable, testable directives.
  • Compile Blade strings with variables BladeExtensions::compileString($string, array $vars = [])
  • Progamatically push content to a stack inside blade view(s) BladeExtensions::pushToStack($stack, $views, $content)
  • Even if you don't use any of the directives, Blade Extensions provides you with a great method to manage your directives.

Directives

All directives can be disabled, extended or replaced.

  • @set / @unset Setting and unsetting of values
  • @breakpoint / @dump Dump values to screen and set breakpoints in views
  • @foreach / @break / @continue Loop data and extras (similair to twig $loop)
  • @embed Think of embed as combining the behaviour of include and extends. (similair to twig embed)
  • @minify / @endminify Minify inline code. Supports CSS, JS and HTML.
  • @macro / @endmacro/ @macrodef Defining and running macros
  • @markdown/ @endmarkdown
  • @spaceless / @endspaceless
  • and more...

Installation

1. Composer

"radic/blade-extensions": "~7.1"

2. Laravel

Radic\BladeExtensions\BladeExtensionsServiceProvider::class

3.Configuration

The first version of this package was created for Laravel 4.2. In the later releases Laravel introduced quite a few similar directives/functionality like the foreach loop variable, Components & Slots, etc. This package automaticly disables some directives depending on your Laravel version. The configuration file allows you to fully configure this behaviour. Make sure to check it out.

Copyright/License

Copyright 2015 Robin Radic - MIT Licensed