码迷,mamicode.com
首页 > 其他好文 > 详细

Laravel 笔记 第一天

时间:2015-07-06 13:53:34      阅读:116      评论:0      收藏:0      [点我收藏+]

标签:

感觉文档比较乱,决定看安正超 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前缀

 

控制器 

Laravel 笔记 第一天

标签:

原文地址:http://www.cnblogs.com/masamia/p/4624036.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!