I am more efficient at setting up my view logic with straight up php. Blade is cool but it’s not for me. I am trying to translate all the Blade specific examples and docs to just php. I don’t like the fact that I need to assign all the variables for my views in an array of View::make(). I did found all of this so far.
controllers/home.php:
class Home_Controller extends Base_Controller {
public $layout = 'layouts.default';
public function action_index()
{
$this->layout->name = 'James';
$this->layout->nest('content', 'home.index');
}
}
views/layouts/default.php:
// head code
<?php echo Section::yield('content') ?>
// footer code
views/home/index.php
<?php Section::start('content'); ?>
<?php echo $name ?>
<?php Section::stop(); ?>
I am greeted with this error: Error rendering view: [home.index] Undefined variable: name. I know that $this->layout->nest('content', 'home.index', array('name' => 'James')); works but that negates my point about having to send all my variables to an array. This can’t be the only way.
The view templating docs doesn’t seem to touch on doing variables with nested views from controllers.
Here’s an example of how I’m templating with laravel.
my main layout looks like
and the home/product page looks like
Hope that helps you clear some things up