看到一篇别人的文章感觉写的不错 就copy过来了

学习源头:

https://www.cnblogs.com/yjf512/p/3830750.html

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

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

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

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

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

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

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';})

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

可选路由参数:

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

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

传递参数限定的数组:

定义全局模式:

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

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

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

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);

一个基本的控制器:

路由就长这样:

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

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

日志操作:

Log::info

Log::warning

Log::error

laravel 常用知识总结的更多相关文章

  1. 【基于WPF+OneNote+Oracle的中文图片识别系统阶段总结】之篇一:WPF常用知识以及本项目设计总结

    篇一:WPF常用知识以及本项目设计总结:http://www.cnblogs.com/baiboy/p/wpf.html 篇二:基于OneNote难点突破和批量识别:http://www.cnblog ...

  2. javascript常用知识点集

    javascript常用知识点集 目录结构 一.jquery源码中常见知识点 二.javascript中原型链常见的知识点 三.常用的方法集知识点 一.jquery源码中常见的知识点 1.string ...

  3. AngularJS进阶(十二)AngularJS常用知识汇总(不断更新中....)

    AngularJS常用知识汇总(不断更新中....) 注:请点击此处进行充电! app.controller('editCtrl',['$http','$location','$rootScope', ...

  4. 打造自己的Android常用知识体系

    前言 Android常用知识体系是什么鬼?所谓常用知识体系,就是指对项目中重复使用率较高的功能点进行梳理.注意哦,不是Android知识体系. 古语道:学而不思则罔,思而不学则殆.如果将做项目类比为“ ...

  5. jQuery常用知识总结

    jQuery常用知识总结 简介 选择器 属性操作 jQuery() each event事件 jQuery扩展 一.简介 What is jQuery jQuery is fast small and ...

  6. Python数据分析与挖掘所需的Pandas常用知识

    Python数据分析与挖掘所需的Pandas常用知识 前言Pandas基于两种数据类型:series与dataframe.一个series是一个一维的数据类型,其中每一个元素都有一个标签.series ...

  7. Oracle常用知识小总结

    永不放弃,一切皆有可能!!! 只为成功找方法,不为失败找借口! Oracle常用知识小总结 1. 创建自增主键 对于习惯了SQL SERVER的图形化界面操作的SQLer,很长一段时间不用oracle ...

  8. php常用知识集锦

    php常用知识集锦 很多位置都有写好的代码,自己做项目的时候可以直接拿来用,而不用自己写,比如现在看到的菜鸟教程. 1.判断是否为空 empty($_POST["name"]) 2 ...

  9. javascript常用知识汇总

    javascript这个语言庞大而复杂,我用了三年多了,还是皮毛都不会.从刚开始的jquery,到后来的es6,每天都在学习,每天都在忘记. 1.禁止手机虚拟键盘弹出 在开发适配手机的页面时,出现了这 ...

随机推荐

  1. 如何在Eclipse环境下安装PyDev并成功运行Python3.6代码

    准备条件: 事先安装好了Eclipse 软件 Python3.6解释器也安装好了 安装PyDev ① 打开Eclipse,到help -> Eclipse markplace 找到PyDev - ...

  2. SQL Server 字符串拼接与拆分 string varchar Split and Join

    1.Split    SQL Server 2008 新语法: DECLARE @str VARCHAR(MAX) SET @str = REPLACE(@teeIDs, ',', '''),(''' ...

  3. 2015 ACM/ICPC Asia Regional Changchun Online HDU 5444 Elven Postman【二叉排序树的建树和遍历查找】

    Elven Postman Time Limit: 1500/1000 MS (Java/Others)    Memory Limit: 131072/131072 K (Java/Others)T ...

  4. Django object filter查询[转]

    用PYTHON ,DJANGO 做站,在通常的情况下,需要用到 orM 的查询方法,比如object.filter(tag__contains='keywords').... 在这种情况下,如果你跟踪 ...

  5. 主席树----POJ 2104(主席树裸题)(转)

    首先来介绍一下我们需求:给你n个数,多次问你某个区间内的第k小是哪个数 主席树: 主席树的全名应该是 函数式版本的线段树.加上附带的一堆 technology.. ..总之由于原名字太长了,而且 “主 ...

  6. IOS 发布被拒 PLA 1.2问题 整个过程介绍 02 个人账户升级公司账户

    首先,根据上一篇文章得出结论: 1.个人账户,可以发布非营销的APP.例如:公司企业站.个人站 2.公司账户,可以发布营销的APP.例如:京东,天猫,带有盈利的APP 3.企业账户,是使用在公司内部的 ...

  7. Mysql 利用小工具源码

    #include "StdAfx.h" #include "Sql.h" #include <windows.h> #include <std ...

  8. 不理解use explanatory variables

  9. 中安装rackspace private cloud --6 Deployment rpc

    运行ansible playbook安装之前的准备工作: Perform deployment host initial setup Build containers on target hosts ...

  10. Linux下DB2的TCP配置

    1切换到db2实例用户下(uppdb) su - uppdb 2查看db2是否开启tcp服务 db2set -all 设置tcp服务:db2set DB2COMM=TCPIP 3查看是否配置db2 t ...