Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
A Custom View supporting Layouts for the Slim Framework.
branch: master

This branch is even with petebrowne:master

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
Slim
tests
.gitignore
LICENSE
README.md
composer.json
phpunit.xml

README.md

slim-layout-view

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.

Something went wrong with that request. Please try again.