Work on section handling.

This commit is contained in:
Taylor Otwell 2012-11-06 15:04:13 -06:00
parent 49b2d4ab1a
commit d2fefa65aa
5 changed files with 37 additions and 5 deletions

View File

@ -3,7 +3,7 @@
* Laravel - A PHP Framework For Web Artisans * Laravel - A PHP Framework For Web Artisans
* *
* @package Laravel * @package Laravel
* @version 3.2.11 * @version 3.2.12
* @author Taylor Otwell <taylorotwell@gmail.com> * @author Taylor Otwell <taylorotwell@gmail.com>
* @link http://laravel.com * @link http://laravel.com
*/ */

View File

@ -2,6 +2,8 @@ # Laravel Change Log
## Contents ## Contents
- [Laravel 3.2.12](#3.2.12)
- [Upgrading From 3.2.11](#upgrade-3.2.12)
- [Laravel 3.2.11](#3.2.11) - [Laravel 3.2.11](#3.2.11)
- [Upgrading From 3.2.10](#upgrade-3.2.11) - [Upgrading From 3.2.10](#upgrade-3.2.11)
- [Laravel 3.2.10](#3.2.10) - [Laravel 3.2.10](#3.2.10)
@ -47,6 +49,16 @@ ## Contents
- [Laravel 3.1](#3.1) - [Laravel 3.1](#3.1)
- [Upgrading From 3.0](#upgrade-3.1) - [Upgrading From 3.0](#upgrade-3.1)
<a name="3.2.12"></a>
## Laravel 3.2.12
- Clear sections on a complete render operation.
<a name="upgrade-3.2.12"></a>
### Upgrading From 3.2.11
- Replace the **laravel** folder.
<a name="3.2.11"></a> <a name="3.2.11"></a>
## Laravel 3.2.11 ## Laravel 3.2.11

View File

@ -51,6 +51,13 @@ class View implements ArrayAccess {
*/ */
public static $last; public static $last;
/**
* The render operations taking place.
*
* @var int
*/
public static $render_count = 0;
/** /**
* The Laravel view loader event name. * The Laravel view loader event name.
* *
@ -327,8 +334,12 @@ public static function render_each($view, array $data, $iterator, $empty = 'raw|
*/ */
public function render() public function render()
{ {
static::$render_count++;
Event::fire("laravel.composing: {$this->view}", array($this)); Event::fire("laravel.composing: {$this->view}", array($this));
$contents = null;
// If there are listeners to the view engine event, we'll pass them // If there are listeners to the view engine event, we'll pass them
// the view so they can render it according to their needs, which // the view so they can render it according to their needs, which
// allows easy attachment of other view parsers. // allows easy attachment of other view parsers.
@ -336,10 +347,19 @@ public function render()
{ {
$result = Event::until(static::engine, array($this)); $result = Event::until(static::engine, array($this));
if ( ! is_null($result)) return $result; if ( ! is_null($result)) $contents = $result;
} }
return $this->get(); if (is_null($contents)) $contents = $this->get();
static::$render_count--;
if (static::$render_count == 0)
{
Section::$sections = array();
}
return $contents;
} }
/** /**

View File

@ -3,7 +3,7 @@
* Laravel - A PHP Framework For Web Artisans * Laravel - A PHP Framework For Web Artisans
* *
* @package Laravel * @package Laravel
* @version 3.2.11 * @version 3.2.12
* @author Taylor Otwell <taylorotwell@gmail.com> * @author Taylor Otwell <taylorotwell@gmail.com>
* @link http://laravel.com * @link http://laravel.com
*/ */

View File

@ -3,7 +3,7 @@
* Laravel - A PHP Framework For Web Artisans * Laravel - A PHP Framework For Web Artisans
* *
* @package Laravel * @package Laravel
* @version 3.2.11 * @version 3.2.12
* @author Taylor Otwell <taylorotwell@gmail.com> * @author Taylor Otwell <taylorotwell@gmail.com>
* @link http://laravel.com * @link http://laravel.com
*/ */