Commit f7b1a72f authored by Taylor Otwell's avatar Taylor Otwell

added unless structure to blade.

parent fda19731
...@@ -16,6 +16,8 @@ class Blade { ...@@ -16,6 +16,8 @@ class Blade {
'structure_openings', 'structure_openings',
'structure_closings', 'structure_closings',
'else', 'else',
'unless',
'endunless',
'includes', 'includes',
'render_each', 'render_each',
'render', 'render',
...@@ -254,6 +256,30 @@ class Blade { ...@@ -254,6 +256,30 @@ class Blade {
return preg_replace('/(\s*)@(else)(\s*)/', '$1<?php $2: ?>$3', $value); return preg_replace('/(\s*)@(else)(\s*)/', '$1<?php $2: ?>$3', $value);
} }
/**
* Rewrites Blade "unless" statements into valid PHP.
*
* @param string $value
* @return string
*/
protected static function compile_unless($value)
{
$pattern = '/(\s*)@unless(\s*\(.*\))/';
return preg_replace($pattern, '$1<?php if( ! ($2)): ?>', $value);
}
/**
* Rewrites Blade "unless" endings into valid PHP.
*
* @param string $value
* @return string
*/
protected static function compile_endunless($value)
{
return str_replace('@endunless', '<?php endif; ?>', $value);
}
/** /**
* Rewrites Blade @include statements into valid PHP. * Rewrites Blade @include statements into valid PHP.
* *
......
...@@ -28,6 +28,7 @@ ...@@ -28,6 +28,7 @@
- [Added `$hidden` static variable to the base Eloquent model](/docs/database/eloquent#to-array). - [Added `$hidden` static variable to the base Eloquent model](/docs/database/eloquent#to-array).
- [Added `sync` method to has\_many\_and\_belongs\_to Eloquent relationship](/docs/database/eloquent#sync-method). - [Added `sync` method to has\_many\_and\_belongs\_to Eloquent relationship](/docs/database/eloquent#sync-method).
- [Added `save` method to has\_many Eloquent relationship](/docs/database/eloquent#has-many-save). - [Added `save` method to has\_many Eloquent relationship](/docs/database/eloquent#has-many-save).
- [Added `unless` structure to Blade template engine](/docs/views/templating#blade-unless).
- Migrated to the Symfony HttpFoundation component for core request / response handling. - Migrated to the Symfony HttpFoundation component for core request / response handling.
- Fixed the passing of strings into the Input::except method. - Fixed the passing of strings into the Input::except method.
- Fixed replacement of optional parameters in URL::transpose method. - Fixed replacement of optional parameters in URL::transpose method.
......
...@@ -105,6 +105,19 @@ Blade makes writing your views pure bliss. To create a blade view, simply name y ...@@ -105,6 +105,19 @@ Blade makes writing your views pure bliss. To create a blade view, simply name y
There are not posts in the array! There are not posts in the array!
@endforelse @endforelse
<a name="blade-unless"></a>
#### The "unless" control structure:
@unless(Auth::check())
{{ HTML::link_to_route('login', 'Login'); }}
@endunless
// Equivalent...
<?php if ( ! Auth::check()): ?>
...
<?php endif; ?>
<a name="blade-layouts"></a> <a name="blade-layouts"></a>
## Blade Layouts ## Blade Layouts
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment