传递数据到视图文件里面,有几种方法可以做到。打开 routes.php ... 比如我们要给 movie 目录下的 index.blade.php 传递点数据过去 ...
可以在它的后面,调用 with 这个方法 .. 这个方法有两个参数 ... 第一个参数是要传递的数据的名称 ... 这里我们可以叫它 user ... 第二个参数是跟它对应的数据的具体的值 ... 输入我的名字 ..
Route::get('movie', function()
{
return View::make('movie.index')->with('user', '王皓');
});
再打开这个视图文件 ... app ... views ... movie ... index.blade.php
在这个视图文件里,我们可以使用传递过来的 user 数据 ... 这里简单的用一个 php 的 echo ,去输出 user 里面的值 ...
<p><?php echo $user; ?></p>
保存 .. 回到浏览器...
这里会输出从 routes 里面传递过来的 user 这个数据的值 ...
魔术方法
我们也可以使用另一种方法把数据传递到视图上 ... 回到 routes.php ... 把这行代码改成
withUser('王皓')
在 with 的后面,也就是这个大写的 User ... 就是要传递给视图的数据的名称 ... 括号里的东西是跟它对应的值 ... 这个方法是动态生成的 ... 在后面,可以使用这种方法继续传递其它的数据 ... 比如再传递一个叫 Email 的数据 ... 输入一个箭头 ... withEmail ... 括号里是它的值 ...
withEmail('wanghao@ninghao.net')
这种方法叫做魔术方法,Magic method ... 方法是在调用的时候动态生成 ... 再打开 index.blade.php ... 找个地方,把 email 里的值也显示出来 ...
<p><?php echo $email; ?></p>
保存 ... 再回到浏览器 ... 刷新 ...
这里会显示出,传递到视图上的 user 还有 email 里面的东西 ...
传递数组
如果要传递到视图上的数据有很多个, 我们也可以先去定义一个数组 ... 然后把这个数组作为 make 方法的第二个参数 ... 再回以 routes.php ..
先去定义一个数据 ...
$data = array(
'user' => '王皓',
'email' => 'wanghao@ninghao.net'
);
再把这个 data 放在 make 方法的第二个参数上 ..
return View::make('movie.index', $data);
保存 ... 回到浏览器 ...
这里,同样会显示传递过来的数据 ...