首页 / PHP / Laravel响应和视图
Laravel响应和视图
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Laravel响应和视图,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含3563字,纯文字阅读大概需要6分钟。
内容图文
![Laravel响应和视图](/upload/InfoBanner/zyjiaocheng/204/94aba5af40354445967e96447bd751c9.jpg)
//直接响应字符串
Route::get('example/test20', function(){
return 'hello world';
});
//定制HTTP响应
Route::get('example/test21', function(){
return Response::make('内容不存在', 404);
});
//响应视图
Route::get('example/test22', function(){
return Response::view('test22');
});
//给响应添加cookie
Route::get('example/test23', function(){
return Response::view('test22')->withCookie(Cookie::make('key', 'this is value'));
响应重定向
//响应重定向
Route::get('example/test24', function(){
return Redirect::to('example/test21')->with('username', 'xiaoming');
});
//带上数据的重定向
Route::get('example/test25', function(){
//with 方法将数据写到了Session中,通过Session::get 方法即可获取该数据。
return Redirect::to('example/test21')->with('username', 'xiaoming');
});
//重定向至命名路由
return Redirect::route('login');
//重定向值带有命名参数的命名路由
return Redirect::route('profile', array('user' => 1));
//重定向至指定的控制器方法
return Redirect::action('HomeController@index');
//重定向至指定的控制器方法,并可带上参数
return Redirect::action('UserController@profile', array('user' => 1));
响应视图
//响应视图并传递参数
Route::get('example/test30', function(){
//第一种方式
return View::make('test30', array('name' => 'xiaoming'));
//第二种方式
//return View::make('test30')->with('name', 'xiaoming2');
//第三种方式
//return View::make('test30')->withName('xiaoming3');
//第四种方式,注:在所有视图中共享同一数据
//View::share('name', 'Steve');
});
//在视图中传入子视图
Route::get('example/test31', function(){
$data = array('name' => 'john');
//子视图放在app/views/child/child_view.php, 你也可以向其传递变量
return View::make('test30')->with($data)->nest('child', 'child.child_view', $data);
});
视图组件或视图合成器
如果你希望视图被创建时,就绑上指定数据,可以定义视图组件:
View::composer('profile', function($view)
{
$view->with('count', User::count());
});
给视图组件添加多视图:
View::composer(array('profile','dashboard'), function($view)
{
$view->with('count', User::count());
});
如果你使用基于类的视图组件:
View::composer('profile', 'ProfileComposer');
视图组件类这样创建:
class ProfileComposer {
public function compose($view)
{
$view->with('count', User::count());
}
}
特殊响应
//创建JSON响应
return Response::json(array('name' => 'Steve', 'state' => 'CA'));
//创建JSONP响应
return Response::json(array('name' => 'Steve', 'state' => 'CA'))->setCallback(Input::get('callback'));
//文件下载响应
return Response::download($pathToFile);
return Response::download($pathToFile, $name, $headers);
注意:管理文件下载的类库Symfony HttpFoundation要求文件名是ASCII编码的。
响应宏,使用Response::macro自定义响应
Response::macro('caps', function($value)
{
return Response::make(strtoupper($value));
});
macro 方法接受两个参数,一个指定宏名称和一个闭包。当通过 Response 类调用该名称的宏时,闭包就会被执行:
return Response::caps('foo');
你可以在 app/start 目录里的文件中定义宏。或者,你也可以通过一个单独的文件组织你的宏,并将该文件包含至某个 start 文件中。
转载于http://www.phpddt.com/php/laravel-response.html
内容总结
以上是互联网集市为您收集整理的Laravel响应和视图全部内容,希望文章能够帮你解决Laravel响应和视图所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。