From 41ca8169513f69338b9618998ddbd96c35cf8de5 Mon Sep 17 00:00:00 2001 From: Taylor Otwell Date: Fri, 11 Nov 2011 22:58:24 -0600 Subject: [PATCH] refactoring the blade class. --- laravel/blade.php | 23 +++++++++++++++++------ 1 file changed, 17 insertions(+), 6 deletions(-) diff --git a/laravel/blade.php b/laravel/blade.php index b68f0d9d..7baeee22 100644 --- a/laravel/blade.php +++ b/laravel/blade.php @@ -73,9 +73,9 @@ class Blade { */ protected static function compile_structure_openings($value) { - $pattern = '/@(if|elseif|foreach|for|while)(\s*\(.*?\))/'; + $pattern = '/(\s*)@(if|elseif|foreach|for|while)(\s*\(.*?\))/'; - return preg_replace($pattern, '', $value); + return preg_replace($pattern, '$1', $value); } /** @@ -86,9 +86,9 @@ class Blade { */ protected static function compile_structure_closings($value) { - $pattern = '/@(endif|endforeach|endfor|endwhile)(\s*)/'; + $pattern = '/(\s*)@(endif|endforeach|endfor|endwhile)(\s*)/'; - return preg_replace($pattern, '$2', $value); + return preg_replace($pattern, '$1$3', $value); } /** @@ -112,7 +112,7 @@ class Blade { */ protected static function compile_yields($value) { - $pattern = '/(\s*)@yield(\s*\(.*?\))/'; + $pattern = static::matcher('yield'); return preg_replace($pattern, '$1', $value); } @@ -127,7 +127,7 @@ class Blade { */ protected static function compile_section_start($value) { - $pattern = '/(\s*)@section(\s*\(.*?\))/'; + $pattern = static::matcher('section'); return preg_replace($pattern, '$1', $value); } @@ -145,4 +145,15 @@ class Blade { return preg_replace('/@endsection/', '', $value); } + /** + * Get the regular expression for a generic Blade function. + * + * @param string $function + * @return string + */ + protected static function matcher($function) + { + return '/(\s*)@'.$function.'(\s*\(.*?\))/'; + } + } \ No newline at end of file