• 20150115--SHOP项目架构+后台权限管理-02


    后台权限管理

    获取登录界面

    后台权限管理php文件成为权限管理模块。处理多个跟权限相关的功能。

    1. 在后台新增一个叫做权限的php文件:/admin/privilege.php

    clip_image002

    2. 用户请求该文件的第一出发点:为了获得一个登录表单。privilege.php要做的第一件事情:就是给用户提供一个登录表单。

    用户不允许直接请求html模板文件,只允许请求对应的根目录下的php文件。

    clip_image004

    3. 将ecshop下面的样式文件和js文件和图片文件全部搬过来,放到后台admin目录下对应的js和styles和images下面。

    clip_image006

    登录验证

    1. 要确定当前登录表单的提交对象是谁?因为登录验证属于权限验证的范围,提交的对象是privilege.php。/admin/templates/login.html

    clip_image008

    2. 为了告诉服务器当前的请求的操作是什么,给所有的每次请求都携带数据(参数),如果是get请求在超链接之后增加一个数据,如果是post请求,在表单中增加一个数据(隐藏域)。/admin/templates/login.html

    clip_image010

    3. 服务器要接收数据:/admin/privilege.php

    clip_image012

    4. 判断动作,根据不同的动作做不同的操作。

    clip_image014

    5. 接收用户信息。/admin/privilege.php|act=check

    clip_image016

    6. 验证数据的合法性。/admin/privilege.php|act=check

    clip_image018

    7. 增加公共文件:设置浏览器的显示字符集和跳转

    a) 显示字符集。/admin/includes/init.php

    clip_image020

    加载初始化文件:任何一个可以被用户直接请求的php文件的第一件事应该加载初始化文件。/admin/privilege.php

    clip_image022

    b) 网站文件夹对应的绝对路径常量

    clip_image024

    c) 增加后台的跳转函数。函数是功能,不是初始化,因此应该单独存在于一个文件。/admin/includes/functions.php,存放所有的公共方法

    clip_image026

    因为每个被请求的php脚本都有可能用到跳转函数,所以需要为每个php文件在一开始的时候就加载跳转函数:admin/includes/init.php

    clip_image028

    d) 增加一个系统控制函数,控制系统的错误处理:ini_set(),当前经过这个函数的设置之后,配置文件临时生效。admin/includes/init.php

    clip_image030

    8. 验证用户信息的有效性:判断当前用户信息在数据库是否存在。

    a) 搭建数据库环境

    clip_image032

    b) 所有的数据库的操作,都应该由对应的DB类去操作。将DB类放到/includes/DB.class.php

    clip_image034

    c) 修改DB类,适应项目。

    clip_image036

    给数据库类DB,增加表前缀

    clip_image038

    d) 任何一张表的操作都应该是单独封装一个类来实现,而对应的类调用DB类里面的方法去实现。/admin/includes/User.class.php

    clip_image040

    e) 在权限管理文件中,需要对user表进行操作的地方(增删改查)得到该类的对象,然后去进行数据库的操作。/admin/privilege.php|act=check

    clip_image042

    f) 自动加载类。/admin/includes/functions.php

    clip_image044

    g) 增加一个验证用户信息的方法:/admin/includes/User.class.php

    clip_image046

    h) 判断数据库的查询结果,根据结果做不同的操作。/admin/privilege.php|act=check

    clip_image048

    配置文件

    1. 在前台增加一个配置文件,用来配置系统的相关的设置信息:数据库信息。/config/config.php

    clip_image050

    2. 增加配置文件的绝对路径。/admin/includes/init.php

    clip_image052

    3. 加载配置文件。在init中加载,因为每次请求都需要连接数据,而每次请求也都需要加载init.php。/admin/includes/init.php

    clip_image054

    4. 在DB类的构造方法使用$config配置信息。/includes/DB.class.php

    clip_image056

    代码流程

    clip_image058

    首页功能

    首页功能就是对应的index.php,首页的功能就是将首页的框架正常显示。所有跟首页显示相关的模板都应该请求index.php。

    1. 判断用户的动作,先接收动作。

    clip_image060

    2. 加载初始化文件:/admin/index.php

    clip_image062

    3. 要根据不同的动作做不同的事情,加载主框架

    clip_image064

    4. 修改框架内部的请求对象。/admin/templates/index.html

    clip_image066

    5. 根据不同的请求,加载不同的框架的部分。/admin/index.php

    clip_image068

    首页功能原理

    clip_image070

  • 相关阅读:
    Golang冒泡排序
    排序算法
    【pdf】PHP基础完整
    【day04】PHP
    【day03】php
    【pdf】XHTML——CSS笔记整理
    【pdf】XHTML&CSS
    【day05】css
    【day06】css
    【day04】css
  • 原文地址:https://www.cnblogs.com/lifushan/p/5419422.html
Copyright © 2020-2023  润新知