分享

PHP教程(28)登陆功能实现+视图分组实现

 知识书馆 2022-07-18 发布于广东

和涛哥学习MVC

目录

和涛哥学习MVC

一、登陆页面的实现

1、静态页面修改

1)在PrivilegeAction.class.php页面进行请求判断以及初始化类

2)调整login.html页面路径

2、创建验证码

3、登陆功能实现

4、组长与组员实现原理图:

二、模板引擎原理

1、什么是模板引擎

2、核心原理

3、编写MVC框架中的视图类

1)视图类的编写

2)视图类的使用

3)在自定义控制器使用视图类

4)在模板文件中引入标签

三、项目的前后台分组


一、登陆页面的实现

1、静态页面修改

当系统访问index.php页面,由于没有传递任何参数,系统自动跳转到Privilege登陆模块中的login方法

控制器命名规则:PrivilegeAction.class.php

1)在PrivilegeAction.class.php页面进行请求判断及初始化类

2)调整login.html页面路径

a)复制所有静态html页面到View文件夹中

b)复制所有静态页面要使用的cssjsimages文件夹到Public公用文件中

c)调整静态页面中的cssjsimages图片路径

更改login.html页面中的以下路径:

更改cssjs路径

更改图片路径

2、创建验证码

d)更改验证码请求文件为入口文件index.php?module=privilege&action=captcha

e)复制Captcha.class.php验证码类文件到项目中的Core文件夹

f)在PrivilegeAction.class.php页面中创建验证码方法并调用

效果如下:

3、登陆功能实现

g)在PrivilegeAction.class.php页面添加登陆验证方法

该方法主要实现对用户名、密码、验证码的接收与判断

h)对以上参数合法性进行判断,又由于系统中需要跳转方法(成功、失败),由于每个控制器都需要使用到跳转功能,所以可以把此功能进行封装到Action.class.php(核心控制器基类)

i)在redirect.html页面进行参数修改

j)在PrivilegeAction.class.php页面继承核心基类

k)在需要使用到跳转方式的位置放入相应代码

l)用户名与密码的判断

m)由于系统要操作数据库判断用户名与密码,所以需要创建Model模型

命名规则:AdminModel.class.php

n)由于所有自定义模型都是用来操作数据库,但由于每个模型操作的功能略有不同,所以我们可以把公用的部分封装成Model.class.php基类

o)在自定义模型中继承Model模型基类,实现对数据库的增删改查操作

p)在控制器中完成对登陆的实现

q)成功后要跳转到IndexAction控制中的index方法,主要用于显示后台

r)更改Application.class.php中的权限验证,去掉$_SESSION['user’] = 1;

s)修改后台管理首页View/index.html,又由于其包含了4个部分,所以要更改相应的请求

t)在IndexAction中完成以上4个请求方法

u)更改4个页面的cssjsimages路径

至此,所有登陆功能完全实现

4、组长与组员实现原理图:

二、模板引擎原理

1、什么是模板引擎

实际上就是把PHP代码与HTML代码完全分离的一种模板技术

2、核心原理

载入html静态模板并把里面的特殊标签如{$title}替换成相应的php逻辑代码

html代码:

php代码:

3、编写MVC框架中的视图类

1)视图类的编写

2)视图类的使用

在核心控制器基类Action.class.php中定义和使用视图类

3)在自定义控制器使用视图类

4)在模板文件中引入标签

效果如下:

三、项目的前后台分组

1)新建Admin文件夹,复制项目中的所有文件全部放入该文件夹中

当前文件夹就是我们项目的后台文件夹,里面的index.php就是后台入口文件

2)前台实现

由于前台不需要权限判断,所有可以去掉该方法

更改setUrl页面跳转

去掉权限验证

3)创建IndexAction.class.php

通过以上方式,我们就完成了前后台的分组工作

http://域名/Admin 后台

http://域名/ 前台

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多