Laravel学习

Laravel是个很强大的PHP框架,它剔除了开发中Web开发中比较痛苦的过程,提供了验证(authentication),路由(routing),Session和缓存(caching)等开发过程中常用到的工具或者功能。

Laravel的配置都存放在app/config中。

Image(32)

里面所有的*.php都按照return的形式返回数据,那么就可以使用Config::get(“key”)来获取配置。使用Config::set(“key”, “value”) 来赋值配置项

要想使用不同的环境配置,就需要在config下创建对应配置的文件夹。然后它会覆盖对应的配置项。

获取当前的环境是使用App::environment(),判断当前环境是什么是使用:App::environment(“local”)

providers是用来配置对应的服务的,比如:

Image(33)

Laravel的请求周期:

1 请求先从public/index.php中进入

2 bootstrap/start.php文件创建app并检测环境

3 内部的 /Illuminate/Foundation/start.php文件配置相关设置并加载服务器

4 加载app/start目录下的文件

5 加载app/routes.php的路由设置

6 request通过controller等转化为response

7 返回response

路由配置:

配置的格式是:

Route::get(‘foo/bar’, funciton(){return ‘Hello World’;})

路由参数是可以有下面几种的:

Image(34)

可选路由参数:

Image(35)

带有默认的可选的路由参数:

Image(36)

用正则表达式限定的路由参数:

Image(37)

传递参数限定的数组:

Image(38)

定义全局模式:

Image(39)

不同的参数定位到不同的路由:

Image(40)

好,现在有个问题是某些路由必须要登录或者验证才能访问怎么办?这里就使用到了路由过滤器这个东西。

比如下面这个例子,当年龄小于200的时候就跳转到主页:

Image(41)

Request中的操作:

获取用户提交的值:Input::get(‘name’);

获取用户提交的值并指定默认值:Input::get(‘name’, ‘Sally’);

用户提交的信息是否存在:Input::has(‘name’)

获取所有用户提交的信息:Input::all()

获取其中几项指定的信息:Input::only(‘username’, ‘password’);

获取除几项之外的提交信息:Input::except(‘card’);

访问用户提交的数组:Input::get(‘products.0.name’);

cookie操作:

获取Cookie中的值:Cookie::get(‘name’)

添加一个Cookie:

$response = Response::make(‘Hello World’);

response−>withCookie(Cookie::make(′name′,′value′,response−>withCookie(Cookie::make(′name′,′value′,minutes));

如果想在Response之前设置Cookie,使用Cookie::queue()

Cookie::queue(name,name,value, $minute);

Session操作:

存储一个变量:Session::put(‘key’, ‘value’);

读取一个变量:Session::get(‘key’);

读取一个变量或者返回默认值:Session::get(‘key’, ‘default’);

检查一个变量是否存在:Sesssion::has(‘key’);

删除一个变量:Session::forget(‘key’);

删除所有Session变量:Session::flush();

文件上传操作:

获取用户上传文件:$file = Input::file(‘photo’);

判断是否有上传这个文件:Input::hasFile(‘photo’);

移动上传的文件:

Input::file(‘photo’)->move($destinationPath);

Input::file(‘photo’)->move(destinationPath,destinationPath,fileName);

获取上传文件大小:

Input::file(‘photo’)->getSize();

获取上传文件类型:

Input::file(‘photo’)->getMimeType();

获取用户请求路径:Request::path();

获取用户请求URL:Request::url();

获取Header中的信息:Request::header(‘Content-Type’);

获取SERVER中的信息:Request::server(‘PATH_INFO’);

重定向:

重定向: return Redirect::to(‘user/login’);

有参数的重定向: return Redirect::to(‘user/login’)->with(‘message’, ‘Login Failed’);

重定向到路由:return Redirect::route(‘profile’, array(‘user’ => 1));

返回重定向到Action:return Redirect::action(‘UserController@profile’, array(‘user’ => 1));

视图层:

传递数据给视图:$view = View::make(‘greeting’)->with(‘name’, ‘Steve’);

将一个视图传递给另一个视图:$view = View::make(‘greeting’)->nest(‘child’, ‘child.view’);

返回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,pathToFile,status, $headers);

一个基本的控制器:

Image(42)

路由就长这样:

Image(43)

默认中,app/start/global.php文件中包含了一个处理所有异常的处理器。

Image(44)

监听fatal error,可以使用App::fatal方法。

日志操作:

Log::info

Log::warning

Log::error

点赞

发表评论

: 北京pk10开奖结果 北京pk10开奖官网 北京赛车开奖历史 北京pk10历史开奖记录 北京赛车pk10开奖记录 北京赛车pk10开奖结果 北京pk10历史开奖记录 北京赛车pk10开奖记录 北京赛车pk10开奖结果 pk10开奖记录 pk10开奖结果 北京赛车开奖历史 北京赛车开奖记录 北京赛车开奖结果 北京pk10历史开奖记录 江苏快三开奖结果 江苏快三走势图表 江苏快三遗漏 江苏快三开奖结果走势 北京赛车pk10开奖记录 北京赛车pk10开奖结果 北京pk10历史开奖记录 秒速赛车开奖记录 秒速赛车历史记录 秒速赛车开奖结果 秒速赛车开奖直播 北京pk10历史开奖记录 北京赛车pk10开奖记录 北京赛车pk10开奖结果 pk10开奖记录 pk10开奖结果 北京赛车开奖历史 北京赛车开奖记录 北京赛车开奖结果 北京pk10历史开奖记录 江苏快三开奖结果 江苏快三走势图表 江苏快三遗漏 江苏快三开奖结果走势 北京赛车pk10开奖结果 北京赛车pk10开奖记录 北京pk10历史开奖记录 秒速赛车开奖结果 秒速赛车开奖记录 秒速赛车历史记录 秒速赛车开奖直播 秒速飞艇开奖记录 秒速飞艇历史记录 秒速飞艇开奖结果 秒速飞艇开奖直播 澳门百家乐 澳门百家乐网址 澳门百家乐官方网站 百家乐官网 澳门网上百家乐 一肖中特免费公开资料 白小姐中特网 香港马会资料大全 澳门百家乐 澳门百家乐网址 澳门百家乐官方网站 百家乐官网 澳门网上百家乐 pc蛋蛋预测 pc蛋蛋幸运28 北京赛车开奖结果 北京赛车开奖记录 pk10开奖结果 澳门百家乐 澳门百家乐网址 澳门百家乐官方网站 百家乐官网 澳门网上百家乐 一肖中特免费公开资料 白小姐中特网 香港马会资料大全 北京赛车开奖结果 北京赛车开奖记录 北京赛车历史记录 北京赛车开奖 幸运飞艇开奖记录 幸运飞艇历史记录 幸运飞艇开奖结果 幸运飞艇开奖直播