00:00
我们的项目图啊,我们先完成后端相关的这些功能,因为我们后端添加的数据,前台的这些功能才比较好写一些啊,但是在完成后端的这些功能之前,我们先写一个什么呢?先写登录和注册,因为登录和注册的话。平台和后台都用得到,而且用户是我们啊项目的一个基础,很多地方会用到这个用户的一个数据,所以我们必须要有注册啊登录的一个功能。啊,当然像忘记密码这些就是和用户个人相关的一些内容的话,我们会放到这个前台的时候再进行补充啊,但是后端来讲,我们只需要一个用户的一个注册和啊用户的一个登录啊,就是商人我们能录入用户,然后。啊,用户能登录。接着来写我们的代码。首先来看一下我们的路由文件。找到我们的also这个文件。我们。准备用这个来放我们用户认证相关的一些路由,所以呢,我们给它加一个路由的一个前缀,用于和其他的路由做一个区分。
01:02
好,在这里我定义一个路由组啊。Group。然后这个组里面呢,我给它定义一个前缀。嗯。Also,好,接下来把我们所有路由啊都放到这里面去写就可以了啊。当然这里需要一个API传过来他才能用啊,这样我们请求的话就需要加上A啊,就是加上这个also这个前缀才可以。是吧,咱们写一个路由来测试一下啊。写一个get的啊。比如说啊post吧,我们的注册的这个路由。
02:08
好,先一个数组,测试一下路由能不能通。接下来在这里面去请求我们的地址。直接在这改一下啊post。请求API里面的。Also数我们是不是还有一个奥数前缀?对吧,接着去请求这个。Register。好,可以请流通对吧,这个就是为了告诉大家,你看我们这里还有一个also数前缀啊,因为在这添加的同时,还有一个API的一个前缀,是我们这个,因为里面这个配置的嘛,一个前缀好。接下来啊,把这个就删掉,我们不可能在背包里面去写代码,对吧,所以呃,执行注册先有一个控制器,我们来创建一个啊注册的一个控制器。
03:02
在这里面进行创建啊。就是我们在这个项目下PP。Artisan。Make。CR了,然后指明我们把这个控制器串到哪个目录下。你看我们。用户认证相关的是放到这个。啊,这个奥这个目录下是不是所以写到这个目录下啊。CR了。好,创建完成。把这个给关掉啊。把它调大一点啊。有点小。20。把它关掉。接下来这里面就多了一个注册的一个控制器啊,我们在这里面去写。
04:05
我们的这个方法就行了啊,写一个词套方法。用户注册,把方法的名字啊,注册注释写好。在这里面就不在背包里面去写内容了,而是使用啊我们的register controller。啊,我们要写个数组啊,第一个元素是啊类名。Controller。好。第二个参数是要使用的一个方法,使用我们的套方法。看到吗?嗯,如果啊,因为这是LEVEL8的写法,你如果感觉比较麻烦的话呢,还可以给他配一个命名空间,然后我们使用这个之前的一些写法去写也是可以的。
05:02
就是控制器,然后加这个方法。好,我们把注释写一下啊,注册。接下来呢,在这里面也是先返回一个数组,看看啊,我们的路由能不能通顺,能不能请求到。好,可以请留对吧,那接下来可以写我们注册的代码了,那注册需要用户提交的一个数据,所以我们需要request,是不是把request依赖注入进来。嗯。接着呢,我们来创建用户啊。User创建一个用户的一个新的一个模型,创建用户有很多种方式,你可以使用,比如说这个。嗯,DB构造器的这个insert呀,或者是我们使用模型的create都可以啊。啊,这里因为它的字段不是很多,所以我们使用啊对象的方式去进行创建,创建一个优色的模型。接下来。
06:00
Username啊,你要看看你的表里面都有什么字段,等于request。里面啊,我们传过来的内幕。好,接着复制一下。还有email字段,是不是email字段呢?等于传过来的email,那还有什么password是吧,密码。啊,Password password这个密码那个字段就不能等于我们传过来的这个password了,因为这个密码我们要去加密才可以啊看一下这个user。是不是我们密码要加密才可以啊,所以这时候使用什么去生成密码呢?这里我们使用BC啊PT这个复数函数去生成这个加密后的一个密码,这时候把它啊存入到数据库,最后别忘了C5。有闪。啊,C5就可以了,好。
07:01
就是说啊,你有很多方式,你去注册用户不一定非要使用啊,这一种你使用create隐私啊,这些都可以啊,最后不要忘了返回,因为是一个啊,注册是一个添加,所以我们只需要返回一个。啊,添加的一个实例就可以了,This response。类似胖啊,这个用不了我们的响应生成器,是因为我们这个控制器寄生错了。是不是我们要继承base controller才可以。因为我们的。啊,这个helper就是D1片的helper是不是写在这个。啊,Base controltr里面,你看是不是在这里面使用呢?啊,所以这里要注意,我们新建了一个空隙之后,要修改一下它的这个继承的一个空隙啊,改成base controltr的。好。这时候我们就可以使用它的response方法。Response属性返回一个的一个。一个响应。
08:00
接下来我们来进行测试啊。来进行添加name。C。然后email。啊,CC,然后。还有个pass错的是吧。Pass。1313来提交。是不是给我们返回了2011个create的一个状态,然后我们去查看一下数据库啊,刷新一下。是不是多条记录对不对。啊,但是啊,我们想一下。并不是所有的用户都这么啊,老老实实的给你传这些数据对不对,有的用户就不给你传数据怎么办?这时候你去添加数据是不是就会报错。是吧,所以说我们一定要对用户输入的这个数据进行验证啊,这时候可以使用提供的表单验证。要使用表单验证呢,你要先创建一个表单验证的啊,一个类,它会生成到啊这个ATP目录下。
09:05
接着我们创建一下啊。大家也可以看看一下这个目录,Q p make。Request啊,同样和控制器一样,我们在创建这个表单运动的时候,也进行了一个目录的一个划分啊。Also啊。Register。Request啊。不要把所有的这个表单验证都写到啊,一个里面,这里就多了一个request,一个目录里面有我们的also目录是吧,里面多了一个这个对不对,我们在这里面去写我们的验证规则。清楚吗?来。写下验证规则啊。啊,这里是啊,我们要改成true,它才去进行这个验证啊,但是我们想一想,我们每个表单验证都要把它改成处,是不是很麻烦。
10:00
啊,这时候怎么办?可以效仿这个CTR了,我们是不是建了一个base CTR了,那我们可不可以建一个这个base request。啊。让这个方法。啊,就是放到这个base request里面,让base request request继承这个它就可以了,是吧,然后我们其他自己的这个表单验证,就继承我们的base request,是不是这样有好处,就当我们需要改它的时候,只要改一个文件就可以,而不要每个文件都去改一遍来接下来我们创建一个PP a make。Request啊,贝斯。Request。啊,创建一个基本的一个请求的一个类。好,这里就多了一个这个,那接下来我们把这个文件啊,不是这个方法啊。就给。剪切到啊,这个我们的base request里面这些都是不要的,这些都不要。然后被request它会继承它。这里我们把它改成除。呃,在我们自己写的这个表单验证里面,就是我们要用的表单验证里面呢,啊,这里去就继承我们的base。
11:04
Request就可以了。好。哎,这样的话,就是说每个继承它的都会具备这个这个设置为出的这个方法吗。好。这时候去写我们的规则啊,规则呢,是要在这里面去返回我们的规则要验证的一些字段,对吧。我们要验证的有name。哎,这里面写我们的规则,接下来。把内幕写下,内幕要必填。啊required,而且最小的话,我们那最少得两个字符啊。啊,最小我们就不限制了吧,我们只限制一下最大,你最大不能超过。啊,昵称我们不让它超过16个字符啊。好,接下来写我们邮箱的一个验证。
12:00
Email啊,一定也要必填。邮箱呢,长度我们就不做限制了,我们直接使用这个email的一个啊,格式的一个验证就可以了啊。接下来是密码的一个验证规则,密码呢一般也得必填,而且密码的这个。这个这个长度啊,最小,我们让它输六位,然后最大呢。不能超过32位。啊,一般也不能超过16位吧,就够了啊。好。接下来啊,还要进行一个什么验证,就是。我们在进行注册的时候,不仅有密码,是不是一般还会有这个确认密码,是不是我们还要进行确认密码的验证,对吧?但你如果去看一下表单验证的这个手册的话啊,它是有相关的这个确认密码的一个验证的一个规则。对吧,可用的验证规则,我们看到这里啊。找一下他。可以看啊,它是验证,哎,必须具备,就是说这个字段。
13:04
比如我们验证了。是password字段,你在就是说传播类参数里面必须有一个password啊,这个confirmation。而且和它要相等才行,这个时候我们就专门用来验证啊,密码就可以了啊。加上一个这个。好。加上我们的验证规则写好之后呢,哎,我们我们的表单验证写好之后,就在控制里面去。不使用原始的这个request,而使用我们自己写的。这个就可以了。哎,这个就不要了,这时候我们再去提交可以看到啊,现在我什么都不传是不是。啊,他会告诉我啊,这些字段没有通过验证。是不是?Name email pass做的对吧?好,假如我们传了pass做的。啊,他又会告诉我们这个确认密码不匹配是不是。
14:01
好。看到了吗?啊,好。嗯,除非我们把这些啊字段都传递过去。啊。来传递一下啊。还少一个确认密码是吧?确认密码我们要传一个password杠。Confirmation啊。传这个字段啊,并且要和它相等才行。是不是验证通了,创业成功了,但是他给我们报了一个错,说这个邮箱啊,已经是就是说唯一的看到了吗?啊唯一的。所以怎么办,我们还要进行对这个邮箱进行唯一的一个验证。是不是在我的,我们接着加一个验证啊,唯一一个验证,唯一验证呢。
15:04
你要加上你要验证的这个表,我们验证那个user表,就邮箱在user表里面必须有一。是吧,这时候我们再来提交。是不是就不报错了,而是告诉我们说邮箱早已经存在对不对。好。那这些验证规则啊,我们发现都是英文的,我们把它怎么变成中文呢?可以去下载一个中文包啊,下载一个中文包之后呢。放到。我们的这个resource里面有一个浪啊这个语言,这是不是只有一个in,哎,我们找一个对应的中文的中文包放在这里就可以了。同时去。呃,改一下config里面的。APP里面呢,有一个本地化的一个配置啊。我看看在哪。这是时区,这个是本地化的配置,好时区呢,我们也要改,改成我们啊这个。就是我们北京的一个市区。
16:02
这时候把这个改成ZH-CN6,但是你要具备这个原包才可以,好吧。接下来我们去找一下这个中文的这个包啊。去。啊,这个组件。里面去找啊,搜索love杠啊。啊,一般就是说前面几个靠前的比较多的就可以了。接着看一看啊,按照我们的版本去啊请求就可以了,8.8以上啊,可以使用这个七,然后七和八以上都可以用这个版,我们就用最新的就可以了。在。啊,这个虚拟机里面去下载我们的。复制一下啊。天。
17:09
出现了一个内存。啊,不足啊,就是允许使用的这个内存不足,嗯,加上这个。临时取消它的这个内存现场。Composer。Memory。里米等于负一。再复制一下这个命令啊。整天。先去改一下我们的内容吧,先把这里改成呃,我们正确的一个时区。上海。
18:00
接下来呢,我们把它改成Z。下划线CN大写。看一下我们这里是不是安装完成了。接下来。去找一下啊,这个安装后的一个扩展在这里找到。Lava港。这里啊。然后有一个src,这里面放了我们所有的一个语言。找一下我们中文的。啊,在这里复制一下这个包啊,到我们的resource目录下就可以了。来,放到这个resource的目录下好。然后这里面是给我们所有就是说翻译成中文后的一个。这个文字啊,我们在APP里面也配置了使用这个中文,这时候我们再去测试一下。是不是?已经给我们进行了翻译。
19:03
当然有的,它翻译不了的话呢,我们还是可以在。这个request里面去自定义这个消息的啊,可以在。啊,这是request里面去自定义消息啊。现在啊,我们常用的这些字段,它肯定是都能都能翻译的啊,包括我们这些字段都不填。啊,名称不能为空,邮箱不能为空。啊,如果我们不想,比如说我们不想把它认为名称,认为是名称,我们把它想认为是这个昵称,是不是你就可以自定义消息去重写它默认的这个消息啊,写一个message啊。接下来呢,只需要return message就可以了。字段啊,加上你要验证的规则。好。这样去写。
20:00
后面去学我们的提示的一个消息名称啊,昵称吧,我们改成昵称,昵称必填啊,不能为空,哎,接着去把其他的规则也写一写。比如说他的这个max。啊,每一个规则都要写啊。不能超过16个字符,好,这时候我们来刷新一下。那这个消息就变成我们自己定义的是不是啊,当然我们也可以去加上一个空格啊。跟它的这个格式保持一致,这样表单验证我们就写完了,包括啊我们的注册啊这里。也使用上了,这样我们的用户的注册就已经完成了。
我来说两句