Tweak controller layout resolution.
Signed-off-by: Taylor Otwell <taylorotwell@gmail.com>
This commit is contained in:
parent
2b81497644
commit
8da1c16c8b
|
@ -46,6 +46,22 @@ abstract class Controller {
|
|||
*/
|
||||
const factory = 'laravel.controller.factory';
|
||||
|
||||
/**
|
||||
* Create a new Controller instance.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function __construct()
|
||||
{
|
||||
// If the controller has specified a layout to be used when rendering
|
||||
// views, we will instantiate the layout instance and set it to the
|
||||
// layout property, replacing the string layout name.
|
||||
if ( ! is_null($this->layout))
|
||||
{
|
||||
$this->layout = $this->layout();
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Call an action method on a controller.
|
||||
*
|
||||
|
@ -141,22 +157,12 @@ public static function resolve($bundle, $controller)
|
|||
// by convention out of the bundle's controller directory.
|
||||
if (Event::listeners(static::factory))
|
||||
{
|
||||
$controller = Event::first(static::factory, $controller);
|
||||
return Event::first(static::factory, $controller);
|
||||
}
|
||||
else
|
||||
{
|
||||
$controller = new $controller;
|
||||
return new $controller;
|
||||
}
|
||||
|
||||
// If the controller has specified a layout to be used when rendering
|
||||
// views, we will instantiate the layout instance and set it to the
|
||||
// layout property, replacing the string layout name.
|
||||
if ( ! is_null($controller->layout))
|
||||
{
|
||||
$controller->layout = $controller->layout();
|
||||
}
|
||||
|
||||
return $controller;
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
Loading…
Reference in New Issue