zoukankan      html  css  js  c++  java
  • 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', $minutes));

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

    Cookie::queue($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, $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, $status, $headers);

    一个基本的控制器:

    Image(42)

    路由就长这样:

    Image(43)

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

    Image(44)

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

    日志操作:

    Log::info

    Log::warning

    Log::error

  • 相关阅读:
    docker安装kibana
    docker 安装elasticsearch
    redis常用命令
    判断CheckBox,select是否被选中
    里面的div怎么撑开外面的div,让高度自适应
    超链接,表单jquery提交方式
    SSM框架的sql中参数注入(#和$的区别)
    springmvc接收值的方式
    mysql语法顺序
    js创建对象并赋值其属性
  • 原文地址:https://www.cnblogs.com/yjf512/p/3830750.html
Copyright © 2011-2022 走看看