PHP web开发教程4天深入浅出Laravel 框架,快速网站开发热门技能
P1 01.laravel介绍
laravel 来我
2017
官网:https://laravel.com/
中文官网:http://www.golaravel.com/
中文社区:https://laravel-china.org/
目前大部分的框架公共的特点(了解)
(1)单入口,所有的请求必须从单入口开始,主要是便于管理(统一的参数过滤)
(2)MVC的思想(分层思想,主要是为了协同开发,实现后期的维护方便)
(3)ORM操作数据库(Object Relations Model):AR 模式
注意:Laravel 框架有一个特点,所有的 URL 访问都必须事先定好路由规则。
laravel5.3 phpstudy2016
P2 02.使用composer创建laravel项目
composer kenpouse
laravel v5.5.22
composer create-project laravel/laravel --prefer-dist project-name-dir
composer create-project laravel/laravel --prefer-dist ./
composer create-project laravel/laravel --prefer-dist ./shop
composer create-project laravel/laravel=5.4.* --prefer-dist project-name-dir
用v5.4.30
设置composer阿里镜像
安装v9.5.2
laravel快速入门教程[已完结]
https://www.bilibili.com/video/BV11X4y1X7vD
php >=7.3
2023视频
P1 01.laravel搭建+路由
安装laravel=v8.6.12
composer create-project laravel/laravel=8.6.12 --prefer-dist ./laravel
入门手册 http://yuque.com/u12308025/rq5d4w/hb3lvd
learnku.com/docs/laravel/8.x/releases/9351
laravel没有默认路由
通过框架访问某个位置(控制器/视图/字符串〕必须自定义路由
.htaccess
<IfModule mod_rewrite.c>Options +FollowSymLinks -MultiviewsRewriteEngine OnRewriteCond %{REQUEST_FILENAME} |-dRewriteCond %{REQUEST_FILENAME} |-f#RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L]RewriteRule ^(.*)$ index.php [L,E=PATH_INFO:$1]
</IfModule>这个文件隐藏人口路径 文件 index.php
http://www.lv.com/index.php/di
http://www.lv.com/di
resources/views视图根目录
所有的视图文件文件后缀必须为blade.php
resources/views/ding/list.blade.php
<!doctype html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport"content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0"><meta http-equiv="X-UA-Compatible" content="ie=edge"><title>首页</title>
</head>
<body><h1>首页</h1>{{$name}}<br>
{{-- 默认变量不解析标签 加!解析--}}{!! $name !!}<hr>@if($scope>80)优秀@elseif($scope>70)良好@else不及格@endif<br>
{{-- isset判断变量存在不--}}@isset($abc)abc存在@elseabc不存在@endisset<br>@empty($name)为空@else不空@endempty
</body>
</html>
P2 02.laravel视图
P3 03.laravel数据库
table 设置表名(无前缀)
get 查询全部数据
DB::raw(原生语句);public function dbtest(){
// $list=DB::select('select * from person');
// dump($list);
// $list=DB::table('person')->get();
// dump($list);
// $list=DB::table('person')->where('id','=','1')->first();
// dump($list);
// $name=DB::table('person')->where('id','=','1')->value('name');
// dump($name);// pluck 一列$list=DB::table('person')->where('sex','=','男')->pluck('name');dump($list);}
P4 04.laravel模型
项目根目录 php artisan make:model Person
protected $table='person';protected $primaryKey='id';
表名 和主键 一定要设置
pubsf快捷键//循环
@forelse($list as $v)
@empty
@endforelse 请求类use Illuminate\Http\Request;
post()
all();
query(); //get请求模型 $obj->paginate(10);
paginate(每页展示条数)分页搜索;
得到的数据集对象中就有分页链接
模版 {{$list->links()}}模版显示上下分页
05:56
查出每个是模型对象
P5 05.laravel删除流程
路由传值 Route::get('list/{id}',[Student::class,'list']);
软删除 删除字段必须存在
P6 06.laravel添加流程
laravel默认表单令牌验证
验证数据来源合法性
419 没有权限;
表单加上 @csrf添加处理页
在接收请求时 同时对数据进行验证
基础请求类 只能验证表单令牌
验证数据 需要自定义请求类
tp自己验证(验证器) laravel自己请求验证;(请求验证)
php artisan make:request PersonRequest(请求类名)验证失败时 会产生302重定向 跳转回表单页;模型//添加时设置不允许添加的字段protected $guarded=[];
'updated_at','created_at' mysql字段datetime类型//public $timestamps=false;//关'updated_at','created_at'dd($result);//调试
11 10 9 8
P7 07.laravel登录流程
同一个命名空间下 不要use
composer require mews/captcha
验证码 在根目录在运行 有个composer.json 同node下的package.json
f开头的代理类
php artisan --version
检测laravel版本