将变量传递给Laravel 4中的视图

时间:2013-01-04 19:09:07

标签: php layout view controller laravel

我是所有这些PHP框架的新手。我曾经使用phpbb的模板函数,语言支持和会话创建了自己的框架。我把它们变成了模型 - 视图框架。我觉得这太复杂了,并且寻找新的框架。

现在我正在使用laravel并且它非常好但我仍然无法弄清楚如何处理控制器和视图。这是我被困住的部分。

我通过创建一个file.php到root文件夹并创建一个.html文件样式文件夹来使用我的phpbb框架。 phpbb的框架可以通过调用

来呈现html文件
$template->set_filenames(array(
'body' => 'file.html'
));

但是我可以从controller.php将每个变量传递给file.html,如下所示:

$template->assign_var('THREAD_ID', $row['id']);
$template->assign_var('THREAD_NAME', $row['title']);

even cycles were too easy

while ($row = $db->sql_fetchrow($result))
{
    $template->assign_block_vars('post_row', array
    (
        'ID'    =>  $row['post_id'],
        'COUNT' => $count++,
        'USERNAME' => $row['post_username'],
        'DATE' => $row['post_datetime'],
        'ENTRY' => $row['post_entry'],
    )
    );
}

 and then for rendering the view

 $template->set_filenames(array(
 'body' => 'file.html'
 ));

这是我在laravel中无法理解的。 我正在使用它,但当我将它用于另一个变量时,它给了我错误。

$this->layout->nest('content', 'index', array(
  'data' => 'pokeçu'
));

在文档中,他们只为一个变量做了示例。我不知道如何继续我的方式。

1 个答案:

答案 0 :(得分:3)

我假设您正在使用Laravel 3,因为这是目前的稳定版本。这里有a section in the Laravel docs。基本上你将以最适合你的应用程序的方式使用View类。请记住,您的控制器方法(或路由闭包)将始终返回某些内容,通常是View实例。要将数据绑定到该视图,最简单的方法是使用with($ data [,$ value]),其中$ data是关联键值数组,或$ data是键,$ value是值。例如:

public function get_index()
{
    $thread = array('id'=>23, 'name'=>'Skidoo');
    return View::make('home.index')->with($thread);
}

请注意返回。您无需立即归还。您还可以实例化View对象,并直接将数据绑定到它:

public function get_index()
{
    $view = View::make('home.index');
    $view->thread = array('id'=>23, 'name'=>'Skidoo');
    $view->welcome = 'Welcome to My Site!';
    return $view;
}

除了文档之外,还有一些最新的教程书籍。查看Laravel网站上的“学习”部分http://laravel.com/