hnhdigital-os/laravel-extras

View on GitHub
src/BladeDirectiveServiceProvider.php

Summary

Maintainability
A
1 hr
Test Coverage
<?php

namespace Bluora\LaravelExtras;

use Blade;
use Illuminate\Support\ServiceProvider;

class BladeDirectiveServiceProvider extends ServiceProvider
{
    /**
     * Bootstrap any application services.
     *
     * @return void
     */
    public function boot()
    {
        blade::directive('capturestart', function () {
            return '<?php ob_start(); ?>';
        });

        blade::directive('capturestop', function ($name) {
            $name = str_replace('$', '', $name);
            $name = substr($name, 1, -1);

            return '<?php $'.$name.' = ob_get_clean(); ?>';
        });

        blade::directive('call', function ($call) {
            $call = substr($call, 1, -1);

            return "<?php $call; ?>";
        });

        blade::directive('csrf', function () {
            return '<?= csrf_field(); ?>';
        });

        blade::directive('raw', function ($raw) {
            return "<?php $raw; ?>";
        });

        blade::directive('use', function ($use) {
            return "<?php use $use; ?>";
        });
    }

    /**
     * Register any application services.
     *
     * @return void
     */
    public function register()
    {
        //
    }
}