Laravel5.0学习系类一路由
最近因为实习工作的需要,在学习者php的框架——laravel。
因为网上没有找到相关方面的基础学习资料,加上最近自己在学习,于是就记下相关知识!方便以后查阅
- laravel的跳转
- laravel的传参
- laravel的路由参数
- 创建url的连接和路由命名
首先在views文件夹下面建立了一个测试的文件夹和文件分别叫home/index.blade.php
如图:
1.laravel的跳转
首先看路由代码routes.php这个文件中内容
下面代码
Route::get('hello12',function(){
return View::make('home.index');//可以跳转
//return view ('home/index');//这句话也可以成功跳转
});
上面代码要注意的是hello12,这个和当前路由文件里面不可以重名,今天就因为重名,导致找了好久没找到错误。这是要注意了。
2.路由的传参
index.blade.php文件中的内容为:
<?php echo $hi.''.$object;?>
这路由的穿参有三种方法:
a.直接通过with的方法将参数添加make()的后面
弊端:当with的参数很多的情况下。此时会变的比较臃肿。
Route::get('/',function(){
//1.穿参数的方法之一
$hi="hello";
$object="+world";
//此处是将参数通过with的方法传递到index.blade.php文件中去。
return View::make('home.index')- >with('hi',$hi)->with('object',$object);
})
b.打包成数组传递过去
接下来写出核心的代码
$hi="hello";
$object="wo1rld";
$data=array('hi'=>$hi,'object'=>$object);
return View::make('home.index',$data);
c.变成一个view,在返回回去
$view=View::make('home.index');
$view->hi="Hello";
$view->object="++world";
return $view;
3.laravel路由传参
先看源代码如下:
//{name?}中的问号和"duk"就是为了防止输入的时候是null,给其一个默认值
Route::get('/{name?}',function($name="duk"){
$view=View::make('home.index');
$view->hi='Hello';
$view->object=$name;
return $view;
})->where('name','[A-Za-z]+');//此处的where('',''),是一个通过正则表达式,排除掉在url上面输入除了字母之外的东西如localhost:8080/12就会出错,localhost:8080/username就是正确的
4.创建url的连接和路由命名
代码如下:
浏览器输入loaclhost:8080/tet,按回车就会出现
localhost:8080/username解析出来的内容
//此句用了个数组,将这路由地址重新命名为了home_route
Route::get('/username/{name?}',array('as'=>'home_route',function($name='duk')
{
$view=View::make('home.index');
$view->hi="Hello";
$view->object=$name;
return $view;
}))->where('name','[A-Za-z]+');
//此处通过Redirect直接跳转到了上面的那个路由
Route::get('/tet',function(){
//加上以下两句,就是可以显示出跳转的路由地址
// $url=URL::route('home_route');
// dd($url);
//此处注意Redirect中的R的大写
return Redirect::route('home_route');
});