第1讲-Laravel介绍
1.1 什么是Laravel
laravel是目前一个比较主流的框架,现在很多互联网的公司都在使用该框架。该框架的前身是symfony框架
Laravel的定位就是做一个简洁使用程序员的框架。为web艺术而生。
Laravel学习参考:
Laravel的特点:
1. 单一入口:所有的请求必须从单入口开始:主要是关于管理【统一的参数过滤】。
2. MVC的思想【分层的思想:主要是为了协同开发---实现后期的维护方便 框架本身写好了很多基础性的代码,不再需要重复造*】
3. ORM操作数据库【Obeject Relationship Model的简写】
一个模型对象对应数据库里面的一张表,对象的属性就是表的字段名,对象的方法执行curd操作。类似TP中的AR模式
例如:$userModel->username属性===对应=====it_user表username字段
特别注意
Laravel是一个重路由框架,即所有的功能都是由路由发起。
路由:建立HTTP请求(URL地址)与控制器中方法的联系
Laravel框架
- 必须有路由
- 可以没有控制器、模型、视图
1.2 为什么学习Laravel
① 移动互联网的兴起
目前移动互联网非常的火,基本都是前后端分离,前后端需要建立数据的联系,这个时候一般都是通过API接口完成的,API接口就是一个URL地址请求,也就是一个路由!
因为Laravel在接口调用里面有其独特的优势。在执行效率与编码效率方面都有优势,因此被很多公司作为目前开发的首选框架。CI框架,TP框架等很多国内框架都在借鉴Laravel的设计思想。
② 有益于大家找工作
目前很多公司要求至少会1~2个框架的使用。学习Laravel有利于大家找工作。
③ 培养学习新框架的能力
有些公司是使用的自定义框架,学习Laravel可以培养大家学习新框架的能力,更快的适应公司的要求
1.3 如何学习Laravel
不论学习什么框架,都需要从下面几个方面着手
- 环境配置—第2讲
- 目录结构—第3讲
- 路由—第4讲
- 控制器—第5讲
- 视图-第6讲
- 配置—第7讲
- 模型(CURD)第7讲
- 调试
第2讲-搭建开发环境
2.1 Laravel版本选择
目前,最新版本的Laravel是5.4。推荐大家使用Laravel5.1版本。因为Laravel5.1是目前的LTS版本。目前大部分公司会选用5.1。同时学会5.1版本后,学习5.5版本也比较轻松。
什么是LTS(Long Term Support)版本:
2.2 安装phpStudy
Laravel框架有运行对环境是有严格要求的。
在Laravel里有很多::class的语法,是在php5.5以后支持的
在Laravel里定义数组的写法: [‘name’ => ‘xiaoming’, ‘age’ => 23] 也是在php5.4之后支持的
由于Laravel会使用Openssl扩展库、PDO扩展库的类,所以确保开启这些扩展
由于Laravel会使用token(令牌)技术, 所以确保tokenizse开启
在Windows下建议使用集成开发环境phpstudy这个产品,目前还支持php7,并且可以非常方便的做版本切换。
Step1. 运行phpstudy.exe
Step2. 选择“是”
Step3. 切换版本
Step4. 查看phpinfo
Step5. 修改php.ini配置
配置文件目录如下:
开启openssl扩展
Step6. 重启Apache服务
Step7. 检查php配置
2.3 Apache配置
Step1. 开启Rewrite模块
PhpStudy默认开启, 不用修改
Step2. 配置虚拟主机
编写index.php测试环境
访问设置的域名: “local.laravel.com”
2.4 设置环境变量
Q: 为什么需要设置环境变量?
A: 需要在命令行下执行Laravel提供的artisan脚本
Q: artisan脚本是什么?
A: artisan脚本是Laravel提供的一个自动生成工具,可以自动生成控制器文件、模型文件、中间件文件等
Win7下配置
“我的电脑”-右键-“属性”
特别注意:
如果之前有配置环境变量, 需要将之前配置的环境变量删除
测试
如果不一致, 依然是之前配置的php版本, 执行set命令,让环境变量生效
2.5 Laravel的安装
Laravel两种安装方式
- Composer安装
Q. 什么是Composer?
A. Composer是php的类库管理器(上传类、验证码类....),可以帮我们自动去互联网下载开发过程中所需要的类库文件和Linux下包管理器yum比较类似。可以理解成360软件管家 QQ软件管家
由于Composer安装需要FQ,通过Composer方式安装的速度也比较慢,不适合在课堂上演示,咱们采用源码包安装:
- 源码包安装
Step1. 下载一键安装包
Step2. 解压
解压到配置好的虚拟主机
Step3. 测试
访问local.laravel.com发现不能正常访问
[原因]
由于Laravel的入口文件在public目录下. 因此, 虚拟主机的目录要配置到public目录
[解决]
修改虚拟主机配置
第3讲-目录结构
Xmind目录结构图
第4讲-路由
4.1 路由的介绍
4.1.1 什么是路由
简单的说就是将用户的请求转发给相应的php程序去处理
4.1.2 路由的作用
路由的作用就是建立url请求和php程序之间的映射,需要注意laravel框架里面路由是必须的【laravel可以不写控制器、也不可以写模型、也可以不写视图】,并且每个路由规则是唯一性的。laravel是一个重路由的框架。
4.1.3 Http请求的种类
Http请求类型get、put、post、patch、delete、tarce、options...等【http请求分7种,但是并不是所有的请求web服务器都支持】,一般使用的get或者post居多。
4.1.4 参考手册
4.2 路由的使用
4.2.1 基本路由
4.2.2 带必选参数的路由
如果路由没有写参数,则会报错
4.2.3 带可选参数的路由
使用可选参数路由时, 需要给默认值, 否则会出错
4.2.4 参数的正则约束
使用连续操作:where()
- 单参数: 传递 参数名, 正则表达式
- 多参数: 传递 关联数组
4.2.5 路由到控制器的方法
第5讲-控制器
5.1 手写控制器
Step1. 新建文件
在Http/Controllers目录下新建一个文件TestController.php
Step2. 编写内容
Step3. 优化
5.2 自动生成
使用artisan脚本生成控制器
Step1. 进入artisan脚本目录
Step2. 执行命令
php artisan make:controller 目录\控制器
生成如下文件
可以使用参数 --plain: 生成简洁版本
php artisan make:controller Test\UserController
--plain
5.3 编写路由
第6讲-视图
6.1 加载视图
Larvael使用blade模板引擎, 所有视图文件存放在resources\views目录下
模板使用.blade.php文件命名
6.2 加载带目录的视图
6.3 视图传参
Step1. 使用View的第二个参数
第二个参数传递一个关联数组,
关联数组的Key为模板变量, value为php数据
Step2. 编写模板
6.4 模板标签语法
使用php原生语法访问变量
使用php函数
使用遍历
第7讲-中间件
7.1 什么是中间件
顾名思义: 处于Http请求与响应中间的部分
中间件所在位置:
在Http请求之后, 在控制器处理之前.
7.2 中间件的作用
作用:
数据过滤
权限验证
7.3 中间件的使用
Step1 生成中间件
通过 artisan 脚本生成中间件
php artisan make:middleware 中间件
Step2 编写中间件
Step3 注册中间件
Step4 编写路由
Step5 测试
第8讲-Http请求
8.1 依赖注入(设计模式)
Q: 什么叫依赖?
A: 如果一个类的实现需要另一个类的支持, 就叫做一个类依赖另一个类
例如:
人要开车, 就说人类依赖汽车类
汽车要能跑, 需要有*. 就说汽车依赖*
Q:什么叫注入?
A:一般是在类的构造方法里传入另一个类的对象做为参数
Q:什么叫容器?
A:容器一般包含两个方法:bind和make
Bind:建立类与一个闭包的联系
Make:产生一个对象,并解决依赖关系
8.2 Http请求的简单案例
编写User/add路由
1. 使用依赖注入Request对象
2. 使用Request的all()方法
3. 使用Request的input()方法
4. 使用Request的method()方法
第9讲-Http响应
9.1 什么是Http响应
Http响应就是服务器返回给浏览器的数据
包括三个方面
- 响应行
- 响应头
- 响应体(数据)
9.2 Http响应的简单案例
1. 设置响应头
用法
Response里可以写空字符串
什么都不写会报错!
2. 设置cookie
用法
编写代码
获取cookie
也是支持中文的
3. Ajax返回JSON数据(重点)
用法
Step1. 编写/ajax路由
Step2. 编写ajax模板
Step3. 通过ajax发送get请求
Step4. 测试