标签:
感觉文档比较乱,决定看安正超 Laravel4的几集视频教程来入门和了解。
地址:http://i.youku.com/u/UMzM3MDMxMzI0
-----------------------------------
安装完成后需要修改Storage和Vendor目录的权限 chmod -R 777 ./storage
已经的目录及文件:
-----------------------------------------
public (d)网站根目录
config (d)配置目录
app/Http/Controllers (d)控制器
app/Http/Middleware (d)中间件
app/Http/routes.php (f)路由配置文件
resources/views (d)视图
resources/lang (d)语言包
storage (d)缓存 模板缓存等
-----------------------------------------------------------------
NotFuondHttpException:没有找到匹配的路由
用路由直接输出Hello World:
在routes.php文件中添加规则:
Route::get(‘/hi‘,function(){
return ‘hello world!‘;
});访问http://domainname/hi时,会输出hello world.
用模板输出Hello World:
在views中创建hi.php
修改hi的规则为:
Route::get(‘/hi‘,function(){
return View::make(‘hi‘);
});
访问http://domainname/hi时,会输出hi模板的内容.
传递模板变量输出:
要用blade模板引擎,需要视图文件以blade结尾,如:hi.blade.php
模板中用{{$var}} 调用变量
在路由规则中为模板分配变量
Route::get(‘/hi‘,function(){
return View::make(‘hi‘)->with(‘var‘,‘value‘);
});
在模板中引入其他文件:@include(‘header‘);
详细的放在前面
1)基本路由
Route::get、Route:post、Route::any
参数的使用(带默认值,正则问号和形参的默认值):
Router::get(‘/hi/{username?}‘, function($name=‘xiaoming‘){
return ‘你好‘.$name;
});
2)过滤器
Router::filter(‘logn‘, function(){
if(Session::get(‘loginid‘,0)==0){
return ‘请登录‘;
}
});
Router::get(‘/hi/{username?}‘, function($name=‘xiaoming‘){
return ‘你好‘.$name;
})->before(‘login‘);
在这条路由之前先调用login过滤器
3)命名路由
Router::get(‘/hi/{username?}‘, array(‘as‘=>‘user_home‘,function($name=‘xiaoming‘){
return ‘你好‘.$name;
}));
使用as来命名路由,可以用其来生成链接,如:route(‘user_home‘,array(‘name‘=>‘小明‘));
4)路由组
如:用户中心的设置、头像修改、密码修改等都需要登录后才能访问
Route::group(array(‘prefix‘ => ‘user‘, ‘before‘=>‘login‘),function(){
Route::get(‘/info/{id}‘,function($id){
return ‘用户:‘.$id;
});
Route::get(‘/album/{id}‘,function($id){
return ‘用户相册:‘.$id;
});
});
用user/info/3或user/album/3 来访问,并且都经过login过滤
prefix和before等都可以省略,第一个参数传入一个空数组即可
5)模型绑定
Route::model(‘user‘, ‘User‘,function(){ //实例不存在时,若不想执行对应的路由需要用exit()退出,或抛出异常 }); //当参数名城为user时自动绑定到User模型
路由的匿名函数中用user.id等获取参数信息
使用 App::abort(404),可抛出404错误
6)控制器路由
Router::controller(‘user‘, ‘UserController‘);
(访问带有get前缀的方法,多个单词时用小写加“-”连接)访问User控制器的getIndex方法。
missingMethod($params=array()){} 非法访问自动调用此方法
若要直接指定方法:Router::controller(‘user/login‘, ‘UserController@login‘);
这种情况下 login方法不需要加get前缀
撒
标签:
原文地址:http://www.cnblogs.com/masamia/p/4624036.html