laravel 8.5 使用注意事项以及常见问题

本文详细介绍了laravel 8.5的使用,涵盖路由配置、数据表迁移与填充、视图操作、模型关联、项目初始化、环境搭建、自动验证等方面。讲解了路由的定义、参数、别名,以及Artisan命令创建控制器和模型。此外,还涉及数据表填充、视图文件的创建与渲染、模型的基本操作、防止CSRF攻击的方法,以及DB类操作数据库的技巧。对于初学者和开发者来说,是深入理解laravel的重要参考资料。
摘要由CSDN通过智能技术生成

目录

1.入门与使用

        1.1路由配置文件:位置-》routes/web.php

        1.2配置文件中配置路由

        1.3路由定义的格式:

        1.4路由参数

        1.5路由别名:name()方法

        1.6路由群组:

        1.7多模块下的路由操作

        1.8Artisan常用命令创建控制器

        1.9Artisan常用命令创建模型

2.数据表迁移与填充

        2.1 迁移文件的创建与编写

        2.2 首次迁移

        2.3 执行迁移文件

        2.4 数据表填充      

        2.5 填充器创建与编写

        2.6 执行填充器文件

3.视图操作

        3.1 视图文件也可以分目录管理

        3.2 视图文件的命令与渲染

        3.3 展示视图的方法

        3.4 变量分配与展示

        3.5 compact(php 内置函数),打包成一个数据

        3.6模板中直接使用函数: 内置或者laravel 框架中定义的

        3.8 模板继承

        3.9 文件的包含

        3.10外部静态文件引入方式

4.关联模型

        4.1 一对一关系 hasone()

        4.2 一对多关系 hasmany()

        4.3 多对多关系 

5.laravel 项目初始化

        5.1创建laravel 项目

        5.2 建立数据库

        5.3 设置网站本地化为中文

        5.4 设置项目时区

        5.5 清理项目(删除不需要的文件)

        5.6 关闭mysql 严格模式

        5.7 安装debugbar 工具条

6.环境搭建

        6.1目录结构分析

        6.2 框架启动方式 

        6.3 伪静态

7.自动验证

        7.1 验证方式

        7.2 文件上传

        7.3 数据分页

        7.4 验证码

8.模型操作

        8.1创建模型

        8.2模型控制器中调用

        8.3基本操作

9.CSRF攻击

        9.1什么是csrf攻击      

        9.2 laravel 怎么避免csrf攻击

        9.3从csrf验证中排除例外路由

10.DB类操作数据库

        10.1数据库配置

        10.2增加方法

        10.3 查询数据

        10.4 删除操作

        10.5 执行任意sql

11.控制器使用

        11.1控制器文件命名

        11.2生成控制器

        11.3控制器路由

        11.4坑

        11.5控制器分目录管理

        11.6接收用户输入

        11.7laravel 友好输出函数



1.入门与使用

将用户的请求按照事先规划的方案提交给指定的控制器或者功能函数来进行处理【路由就是访问地址形式】

在thinkphp中,当我们在URL地址中,传递m,a,c三个参数时,系统会自动跳转到指定模型中指定控制器的指定方法,这些处理的过程都是由框架自动完成的。但是,在laravel中,并没有指定固定参数,其路由必须手动进行配置

        1.1路由配置文件:位置-》routes/web.php

        1.2配置文件中配置路由

        1.3路由定义的格式:

Route::请求方式("请求的URL",匿名函数或控制响应的方法);
注册路由响应多个HTTP请求--通过match方法来实现,或者用any方法注册一个路由来响应所有的请求

            Route::match("匹配的请求类型","请求的URL",匿名函数或控制响应的方法); 匹配的请求类型数组的格式

        1.4路由参数

路由参数其实就是给路由传递参数,分为必选参数和可选参数

当然也可以通过?的方式传递参数

        1.5路由别名:name()方法

查看系统已有的路由命令: php artisan route:list

        1.6路由群组:

        1.7多模块下的路由操作

后期还会接触到中间件:middleware

route:group(["perfix"=>"admin"],function(){

route:get("test1",function(){

echo 'admin/test1';

)};

route:get("test2",function(){

echo 'admin/test2';

)};

});

        1.8Artisan常用命令创建控制器

        php artisan make:controller 控制器名

        1.9Artisan常用命令创建模型

        php artisan make:model 模型名称

2.数据表迁移与填充

        2.1 迁移文件的创建与编写

                

        2.2 首次迁移

                php artisan make:migration create_test_table

        2.3 执行迁移文件

                若当前的项目中第一次执行迁移文件的话,则需要先去执行(创建用于记录迁移文件的表)

//up方法的执行
php artisan migrate:install //第一次执行迁移文件时,生成记录表(类似日志)
php artisan migrate         //执行迁移文件,创建数据表

//down 方法执行
php artisan migrate:rollback

注意:回滚(删除)之后会删除上一个批次的记录,并且同批次建立的数据表也会
删除,但是迁移文件还在,方便后期继续迁移(创建表)

        2.4 数据表填充      

                注意:填充器中可以直接使用DB,不需要引入,引入会报错

        2.5 填充器创建与编写

                php artisan make:seeder 填充器名称 【大写表名+TableSeeder】

                Eg: test表的写法为:php artisan make:seeder TestTableSeeder

        2.6 执行填充器文件

                php artisan db:seed --class=种子文件名

                Eg: test表的写法为:php artisan db:seed --class=TestTableSeeder

3.视图操作

        3.1 视图文件也可以分目录管理

        3.2 视图文件的命令与渲染

        文件名习惯小写

        文件名的后缀是.blade.php(laravel框架有一套模板引擎使用的就是balde,可以直接使用标签语法{ {$tittle}},也可以用原生的php语法显示数据)

        也可以使用.php 但是这样的话就不能使用标签语法,只能使用原生语法(<?php echo $tittle ?>)显示数据

        两个文件同时存在时,优先显示.blade.php后缀的文件

        3.3 展示视图的方法

        eg: return view("home/test/test");

        return view("home.test.test");        

        return view("视图文件名");支持分目录管理

        3.4 变量分配与展示

                view(模板文件名称,数组);

                view(模板文件名称)->with(数组);

                view(模板文件名称)->with(名称,值) ->with(名称,值);

        3.5 compact(php 内置函数),打包成一个数据

        3.6模板中直接使用函数: 内置或者laravel 框架中定义的

                在smarty中,在视图中,通过变量修饰符“|“来修饰变量(使用函数去处理变量)

                在laravel中,视图调用函数语法与js,php基本一致,只不过需要左右大括号

        3.7 循环标签与分支语法标签

 

        3.8 模板继承

                编写两个页面,一个父级页面,一个子页面

                语法:@yield("名字"); 在父级页面中的占位

编写的子页面不需要头部和尾部

继承语法:

@extend("comon")

@section("mainbody")

代码块

@endsection

        3.9 文件的包含

                @include("文件名")

        3.10外部静态文件引入方式

4.关联模型

是指绑定模型(表)的关系(关联表),后续需要使用联表的时候直接使用相关模型

        4.1 一对一关系 h

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值