Skip to content

Instantly share code, notes, and snippets.

@Piterden
Created July 12, 2016 21:17
Show Gist options
  • Save Piterden/c32c64bfd9c03282c7f8244410d66cd9 to your computer and use it in GitHub Desktop.
Save Piterden/c32c64bfd9c03282c7f8244410d66cd9 to your computer and use it in GitHub Desktop.
[Laravel 5] Blade @set extension
<?php
namespace App\Providers;
use Illuminate\Support\ServiceProvider;
class BladeSetServiceProvider extends ServiceProvider
{
/**
* Indicates if loading of the provider is deferred.
*
* @var bool
*/
protected $defer = false;
/**
* Register the service provider.
*
* @return void
*/
public function register()
{
$blade = $this->app['view']->getEngineResolver()->resolve('blade')->getCompiler();
$blade->extend(function ($value, $compiler)
{
$value = preg_replace("/@set\('(.*?)'\,(.*)\)/", '<?php $$1 = $2; ?>', $value);
return $value;
});
}
/**
* Get the services provided by the provider.
*
* @return array
*/
public function provides()
{
return [];
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment