laravel框架知识点

laravel框架知识点

文章目录

1. 什么是laravel框架1.1 Laravel框架的目录结构1.2 Apache安装与配置1.2.1 配置安装路径1.2.2 配置服务器域名1.2.3 安装1.2.4 卸载

1.3 安装Composer依赖管理工具

2. 路由和视图2.1 配置路由2.2 请求URL示例2.3 重定向路由2.4 控制器Controller2.5 创建视图文件2.6视图中的循环操作2.7模板继承的使用:

3. 表单安全和用户认证3.1 在Laravel中防御CSRF攻击3.2 在表单中使用CSRF令牌:3.3 常用的验证规则:3.4 session()函数的使用:3.5 Laravel内置的中间件:3.6 验证用户登录中间件部分示例代码:

4 数据库操作4.1创建laravel数据库4.2 使用DB类操作数据库4.2 数据库的增删改查4.3 数据表迁移

5. 总结

1. 什么是laravel框架

Laravel是一种开源的PHP Web应用程序框架,采用了MVC(模型-视图-控制器)架构模式,旨在帮助开发人员构建优雅、高效的Web应用程序。Laravel提供了许多有用的功能,如路由、中间件、Eloquent ORM、模板引擎、任务调度、事件管理等,使开发人员能够快速构建可扩展、可维护的Web应用程序。Laravel还有一个活跃的社区,提供了丰富的文档、教程和插件,方便开发人员学习和使用。

1.1 Laravel框架的目录结构

1.2 Apache安装与配置

以Apache Lounge网站编译的版本为例,在网站中找到httpd-2.1.38-win32-VC15.zip这个版本下载安装,由于版本仍在更新,下载到的可能是2.4.x的最新版本,但是不影响学习。

1.2.1 配置安装路径

在conf\httpd.conf配置正确的安装路径:

Define SRVROOT "C:\web\apache2.4"

1.2.2 配置服务器域名

在conf\httpd.conf中去掉服务器域名的注释:

ServerName www.example.com:80

1.2.3 安装

安装Apache命令:

httpd -k install -n Apache2.4

1.2.4 卸载

卸载Apache命令:

httpd -k uninstall-n Apache2.4

最后启动Apache服务,选择Start启动服务,当图标由红色变为绿色表示启动成功。

1.3 安装Composer依赖管理工具

安装过程:

是否使用开发者模式(Developer mode)。若选中此项,则不提供卸载功能,推荐不选中。选择PHP命令行程序。单击“Browse…”按钮浏览文件,选择C:\web\php7.2\php.exe即可。更新php.ini。若当前php.ini不符合Composer的环境需求,安装程序会提示修改php.ini,并创建备份文件。若php.ini符合需求,则该步骤会自动跳过。安装命令:从“Packagist 中国全量镜像”获取缓存数据,具体命令如下:

composer config -g repo.packagist composer https://packagist.phpcomposer.com

取消获取缓存数据的命令:

composer config -g --unset repos.packagist

更新Laravel框架命令:

composer update laravel/framework

2. 路由和视图

2.1 配置路由

路由配置文件: routes\web.php 路由示例:

Route::get('/', function () {

return view('welcome');

});

Route::get()定义路由,get是路由的请求方式。/ 表示当用户访问网站的首页。view()函数表示要显示的视图,welcome表示视图文件名称。

2.2 请求URL示例

2.3 重定向路由

重定向路由的作用:用来实现页面跳转。 重定向路由示例代码:

Route::redirect('/hello', '/xxx');

将路由“hello”重定向到“/xxx”

2.4 控制器Controller

创建控制器的命令:

php artisan make:controller 控制器名

php artisan表示使用Laravel提供的artisan工具make:controller表示生成控制器,在后面书写控制器名控制器名采用大驼峰的形式,后面加上Controller后缀,如TestController

2.5 创建视图文件

视图文件的使用:创建resources\views\index.blade.php文件。

Document

当前显示的视图文件是index.blade.php

视图文件的使用:在控制器中加载视图文件

public function show()

{

// 加载视图文件resources\views\show.blade.php

return view('show');

}

2.6视图中的循环操作

在视图中输出数组时,使用“@foreach”模板语法实现. 循环语句的使用: 控制器代码

public function show()

{

$data = array(['id' => 1, 'name' => 'Tom'], ['id' => 2, 'name' => 'Andy']);

return view('show', ['data' => $data]);

}

视图代码

循环操作

@foreach ($data as $v)

{{ $v['id'] }} - {{ $v['name'] }}

@endforeach

2.7模板继承的使用:

父页面

Document

头部区域

@yield('content')

尾部区域

子页面

@extends('parent')

@section('content')

区块内容

@endsection

3. 表单安全和用户认证

3.1 在Laravel中防御CSRF攻击

通过表单发送请求,在视图中使用{{ csrf_field() }}或{{ csrf_token() }}获取令牌。 {{ csrf_field() }} :获取一个隐藏域,自动填入令牌值。

{{ csrf_token() }} :获取令牌值,手动填入隐藏域中。

3.2 在表单中使用CSRF令牌:

收款人:

转账金额:

{{ csrf_field() }}

3.3 常用的验证规则:

3.4 session()函数的使用:

session(['name' => '张三']); // 写入Session

dump(session('name')); // 输出结果:张三

dump(session('age', 0)); // 当读取Session不存在时,返回默认值0

dump(session()->all()); // 获取所有Session

dump(session()->forget('name')); // 删除名称为name的Session

dump(session()->has('name')); // 判断Session是否存在

session()->flush(); // 删除全部Session

3.5 Laravel内置的中间件:

3.6 验证用户登录中间件部分示例代码:

namespace App\Http\Middleware;

use Closure;

class User

{

public function handle($request, Closure $next)

{

if (!session()->has('users')) {

return redirect('/user/login');

}

return $next($request);

}

}

4 数据库操作

4.1创建laravel数据库

在数据库中创建member表并插入测试数据

#创建数据库,并使用USE选择数据库

CREATE DATABASE `laravel`;

USE `laravel`;

#在数据库中创建member数据表

CREATE TABLE `member` (

`id` INT PRIMARY KEY AUTO_INCREMENT,

`name` VARCHAR(32) NOT NULL DEFAULT '',

`age` TINYINT UNSIGNED NOT NULL DEFAULT 0,

`email` VARCHAR(32) NOT NULL DEFAULT ''

) ENGINE=InnoDB CHARSET=utf8mb4;

#在member数据表中插入测试数据

INSERT INTO `member` VALUES (1, 'tom', 20, 'tom@laravel.test');

4.2 使用DB类操作数据库

示例代码:

public function database()

{

$data = DB::table('member')->get();

foreach ($data as $v) {

dump($v->id . '-' . $v->name);

}

}

给database()方法设置路由。

Route::get('test/database', 'TestController@database');

4.2 数据库的增删改查

使用insert()和insertGetId()方法添加数据 insert()方法:返回值为true或false,表示是否添加成功 insertGetId()方法:返回值为自动增长的id修改数据 update()方法用来修改指定的字段 increment()方法用来对数字进行递增 decrement()方法用来对数字进行递减查询数据的方式: 查询多行数据——查询某个字段的值 查询单行数据——排序 查询指定字段的值——分页删除数据 两种方式:使用delete()方法删除指定的记录,使用truncate()方法清空整个数据表。

4.3 数据表迁移

创建迁移文件命令

php artisan make:migration 迁移文件名

创建paper表迁移文件命令:

php artisan make:migration create_paper_table

数据表的字段要求:

id:表的主键,自动增长。

paper_name:试卷名称,VARCHAR(100)类型,不允许重复值。

total_score:试卷总分,TINYINT类似,默认为0。

start_time:试卷开始考试时间,INT类型(保存时间戳)。

duration:考试时间长度,单位为分钟,TINYINT类型。

status:试卷是否启用,TINYINT类型,1表示启用,2表示禁用,默认为1。

created_at:创建时间,TIMESTAMP类型,默认为NULL。

updated_at:更新时间,TIMESTAMP类型,默认为NULL。

执行迁移命令:

php artisan migrate

5. 总结

介绍了什么是Laravel框架;然后,讲解了开发环境的搭建步骤,完成了Apache安装,以及Composer依赖管理工具安装;最后并对Laravel框架的目录结构进行了演示。介绍了框架中路由的定义和使用,然后讲解了控制器的使用以及如何在控制器中接收用户输入数据,最后讲解了视图的使用。讲解了CSRF攻击和在框架中如何防御CSRF攻击,然后演示Session机制和中间件的使用方法讲解了如何在Laravel框架中操作数据库,主要包括DB类操作数据库、对数据库进行增删改查,以及数据表的迁移。

相关内容

深度分析:通信安全如何保障可信数据空间
怎样获得免费office365

深度分析:通信安全如何保障可信数据空间

🕒 11-02 👁️ 5619
宙夜名字含义:
怎样获得免费office365

宙夜名字含义:

🕒 08-17 👁️ 2949