作者:yyl
 班级:量子通信
一、Laravel简述
Laravel是一套简洁、优雅的PHP Web开发框架(PHP Web Framework)。它可以让你从面条一样杂乱的代码中解脱出来;它可以帮你构建一个完美的网络APP,而且每行代码都可以简洁、富于表达力。
 
二、Laravel的安装
Laravel虽然课上安装了,但是还是重新安装了一下,顺便写一下安装过程
1、使用Composer自动安装Laravel框架
首先在DOS窗口下,切换到项目目录,如下图所示:
 
 使用composer指令从github中下载laravel源代码:
 composer create-project laravel/laravel --prefer-dist
 示例代码:
 
2、使用Laravel一键体验包手动安装Laravel框架
① 下载Laravel一键体验包
 
 ② 找到laravel master最新版的Laravel框架
③ 下载Laravel框架,解压后,如下图所示:
 
 ④ 更改根目录下的server.php为index.php,作为项目的入口文件
 
 
 
 ⑤ 把public目录下的.htaccess重写文件复制到根目录下
 
 
 然后Laravel框架安装完毕,打开浏览器,运行虚拟域名,如下图所示:
 
三.目录结构

 ① app目录:项目的核心目录,主要用于存放核心代码,也包括控制器、模型以及路由。
 
 控制器存放位置:
 
 模型存放位置:
 
 在实际项目开发中,一般把模型存放在app/Http/Models自定义文件夹中。
 ② config目录 :项目的配置目录,主要存放配置文件,如数据库配置
 
 ③ public项目公用目录,主要用于存放images/css/js等资源文件
 
 ④ resources资源目录,主要用于存放视图文件
 
 ⑤ vendor扩展目录,扩展插件主要存放在此目录下
 
 ⑥ .env环境配置文件,主要用于配置项目信息如数据库信息、缓存信息等等
 
 ⑦ artisan脚手架,主要用于自动生成代码的,非常好用
 
 ⑧ composer.json,composer依赖包配置文件
 
 ⑨ 项目入口文件index.php
 
四.Laravel框架中的控制器
① 什么是控制器
 MVC的核心,主要用于接收用户请求,处理业务逻辑。
 ② 控制器的存放目录
 
 ③ 控制器命名规则,基本语法:
 1.控制器名称:Index,记住首字母要大写
 2.关键词:Controller
 3.定义Index控制器,其命名为:IndexController
 ④ 使用脚手架生成IndexController控制器
 在DOS窗口中,切换到MyApp项目目录,如下图所示:
 
 使用php artisan make:controller 控制器名称生成自定义控制器,如下图所示:
 
 创建成功后,如下图所示:
 
 在IndexController控制器中,定义index方法,访问后如下图所示:
 
 运行结果:
 
 3、Laravel框架中的路由
 在ThinkPHP框架中,当我们在URL地址中,传递m、c、a三个参数时,系统会自动跳转到指定模型中指定控制器的指定方法,这些处理过程都是由框架自动完成的。但是,在Laravel框架中,其并没有指定固定参数,其路由必须要手工进行配置。
 ① 路由配置文件
 ② 在routes.php配置文件中配置路由
 
 ③ 自定义路由的基本语法
 //get请求
Route::get(‘/’,function(){
return view(‘welcome’);
});
//post请求
Route::post(‘goods/store’,’GoodsController@store’);
//controller请求
Route::controller(‘index’,’IndexController’);
特别注意:使用controller请求时,其方法如果是get请求,必须加前缀get其方法如果是post请求,必须加前缀post
//resource请求
Route::resource(‘article’,‘ArticleController’);
特别注意:使用resource请求时,其内部的方法都是固定的,如下图所示:
 
 4、Laravel框架中的DB类
 ① 设计数据库
 数据库名称:gcwapp
 article数据表:gcw_article
 数据表字段:
 
 创建数据库与数据表:
 
 ② 在Laravel中配置mysql数据库信息(牵连.env与config/database.php)
 首先配置.env文件:
 
 打开config/database.php,配置信息如下:
 
 ③ 创建Article控制器,如下图所示:
 
 ④ 在routes.php中设置url路由:
 
 ⑤ 在Article控制器中定义以上四个方法
 
 ⑥ 引入DB类,实现CURD操作
 
 这里是一个DB类详解:http://www.jb51.net/article/54713.htm
实现add添加功能:
 
 insert方法,返回布尔类型的值,true代表添加成功,false代表添加失败。
 实现delete删除功能:
 
 delete方法,返回受影响的行数。
 实现edit更新功能:
 
 update方法,返回受影响的行数。
 实现index查询功能,基本语法:
 查询一条记录:first()方法
 查询多条记录:get()方法
 示例代码:
 
 示例代码:
 
 实现数据统计:
 
 实现offset与limit:
 
 5、Laravel框架中的模型
 ① 什么是模型
 所谓的模型就是企业数据逻辑,负责与数据库进行交互,实现CURD等功能。
 ② 模型的存放位置
 
 但是,在实际项目开发中,建议把模型放置于app/Http/Models(手工创建)目录下
 ③ 模型的命名规则
 数据表名称+首字母大写
 ④ 使用php脚手架生成自定义模型
 
 运行结果:
 
 ④ 更改Model模型的存放位置
复制生成的自定义模型到app/Http/Models目录,如下图所示:
 
 复制完成后,必须要更改命名空间的位置(非常重要)
 
 ⑤ 使用Laravel中的模型,定义关联表,定义表主键,定义时间戳,定义白名单
 
 ⑥ 在控制器中使用模型操作数据
获取所有数据:
 
 获取指定id的数据:
 
 使用AR模式实现添加与更新功能:
 
 使用delete方法实现删除功能:
 
 6、Laravel框架中的视图
 ① 什么是视图
所谓的视图,就是我们常见的用户界面,主要用于数据的显示
 ② 定义位置
 
 ③ 视图的命名规则
 welcome.blade.php 欢迎视图
 welcome视图名称
 .blade.php 视图后缀
 ④ 在控制器中调用视图
 
 ⑤ 定义welcome.blade.php视图
 
 结果:
 
五.App开发
1、复制Laravel源代码到项目目录中
2、更改server.php为index.php与.htaccess路径
以上这两步跟上边的类似,所以就不放图了
3、设计数据表
数据库名称:gcwapp
 admin数据表名称:gcw_admin
 admin数据表的表结构:
 
 
 
4、创建Public控制器

5、定义login方法,用于载入视图

6、在resources/views/public文件夹中创建login.blade.php

 复制模板文件中的代码到以上文件中。
7、定义routes.php路由

 设置Public控制器:
 
8、复制后台项目的资源文件到public的assets目录中

 使用asset方法,引入资源文件:
 
9、编辑login.blade.php模板,引入验证码

10、复制验证码类到resources/org/code文件夹

11、在控制器中定义code方法,用于生成验证码

 还要记得设置路由,否则无法显示
 
12、在模板中引入验证码

13、在index.php入口文件中手工开启session

14、定义表单的url连接,在服务器端对数据进行验证

 在路由中设置请求路由:
 
 在控制器中定义check方法
 
 运行结果:
 
 以上运行结果代表,其Laravel框架会对form表单进行token验证(每个表单都会随机生成token)
在form表单中,调用csrf生成随机token。
 
15、使用Input类接收表单数据

 
16、定义Index控制器

 复制Index控制器到Admin目录,然后更改命名空间
 
17、定义index.blade.php到views/index目录

18、设置admin/index路由



















