petebrowne/slim-layout-view

A Custom View supporting Layouts for the Slim Framework.

0.3.0 2013-12-03 13:47 UTC

This package is not auto-updated.

Last update: 2024-03-16 11:30:49 UTC


README

A Custom View supporting Layouts for the Slim Framework. slim-layout-view requires Slim 2.0+, which now follows the PSR-2 standard.

Installation

Add "petebrowne/slim-layout-view" to your composer.json file:

{
  "require": {
    "slim/slim": "2.*",
    "petebrowne/slim-layout-view": "0.3.*"
  }
}

And install using composer:

$ php composer.phar install

Configuration

Configure Slim to use slim-layout-view, and optionally set the layout file to use (defaults to 'layout.php'):

$app = new \Slim\Slim(array(
  'view' => '\Slim\LayoutView',
  'layout' => 'layouts/main.php'
));

Usage

Now create your layout file. The content from the rendered view will be in a variable called $yield:

<html>
  <head></head>
  <body>
    <?php echo $yield ?>
  </body>
</html>

Now you can render the view in the usual way:

$app->get('/', function() use ($app) {
  $app->render('index.php');
});

Rendering with custom layouts or without any layout at all is also supported:

// Use a different layout for this route:
$app->get('/', function() use ($app) {
  $app->render('index.php', array('layout' => 'custom_layout.php'));
});

// Skip the layout for this route:
$app->get('/index.xml', function() use ($app) {
  $app->render('xml.php', array('layout' => false));
});

Copyright

Copyright (c) 2013 Peter Browne. See LICENSE for details.