added custom compilers to blade
Signed-off-by: Dayle Rees <thepunkfan@gmail.com>
This commit is contained in:
parent
0824c871fd
commit
d2de301ede
|
@ -26,8 +26,16 @@ class Blade {
|
|||
'yield_sections',
|
||||
'section_start',
|
||||
'section_end',
|
||||
'extra',
|
||||
);
|
||||
|
||||
/**
|
||||
* An array of user defined compilers.
|
||||
*
|
||||
* @var array
|
||||
*/
|
||||
protected static $registered = array();
|
||||
|
||||
/**
|
||||
* Register the Blade view engine with Laravel.
|
||||
*
|
||||
|
@ -64,6 +72,22 @@ public static function sharpen()
|
|||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Register a new blade compiler.
|
||||
*
|
||||
* <code>
|
||||
* Blade::register(function($view) {
|
||||
* return str_replace('thing', 'another_thing', $view);
|
||||
* });
|
||||
* </code>
|
||||
*
|
||||
* @param closure $compiler
|
||||
*/
|
||||
public static function register($compiler)
|
||||
{
|
||||
static::$registered[] = $compiler;
|
||||
}
|
||||
|
||||
/**
|
||||
* Determine if a view is "expired" and needs to be re-compiled.
|
||||
*
|
||||
|
@ -386,6 +410,22 @@ protected static function compile_section_end($value)
|
|||
return preg_replace('/@endsection/', '<?php \\Laravel\\Section::stop(); ?>', $value);
|
||||
}
|
||||
|
||||
/**
|
||||
* Execute user defined compilers.
|
||||
*
|
||||
* @param string $value
|
||||
* @return string
|
||||
*/
|
||||
protected static function compile_extra($value)
|
||||
{
|
||||
foreach (static::$registered as $compiler)
|
||||
{
|
||||
$value = $compiler($value);
|
||||
}
|
||||
|
||||
return $value;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the regular expression for a generic Blade function.
|
||||
*
|
||||
|
|
Loading…
Reference in New Issue