标签:ack 因此 实例 学习 index 总结 统一 如何 要求
67.255.255.255
一个字节:8个位:
00000000——————11111111
一个IPv4地址与一个无符号整型,可以进行相互转化:
表语句:
插入几条测试数据:
Back/AdminController->checkAction();
为操作admin表,建立模型AdminModel
Application/back/Model/AdminModel.class.php
测试:
别忘了修改数据服务器信息,为项目所用!(增加配置文件)
不需要
封装一个可以完成跳转的方法,需要时,调用即可!
控制器的功能!
该功能应该被所有的控制器动作所共享,因此,应该在基础控制器中被定义:
Controller.class.php
实现:
分析,参数:
$url, 目标URL地址
$info, 提示信息
$wait, 等待时间
为 info和wait增加默认参数,可以做到,即可完成立即,也可以完成提示跳转!
代码实现:
项目中使用:
Back/AdminController->checkAction()
测试:
创建一个后台首页动作!
Application/back/controller/ManageController.class.php
indexAction();
在访问到后台首页(后台所有功能)时,应该先判断当前浏览器是否处于登录状态,再做功能的实现!如果没有登录,则跳转到登录页面。
如何判断当前浏览器用户是否登录?
管理员合法 –> 处于登录状态
登录标志:
一个数据。
如何存储这个数据呢?
[不合理的]测试:
变量:
分配(back/AdminController->checkAction())
验证(back/ManageController->indexAction())
总结:不行,原因是:
数据的生命周期问题,对于PHP来说,所有数据(变量,常量)的最大生命周期,一个脚本周期(浏览器向服务器发出一次请求,服务器将该请求交由PHP处理,PHP处理完了给服务器,服务器响应给浏览器,就是一个脚本周期)
可见:登录标志的存储,需要可以跨脚本周期存储数据的一种形式(持久性存储数据的机制)
[不合理的]测试:
文件:
不行,原因是:
在服务器端管理的文件(数据库中)是不区分浏览器端,对于任何一个浏览器都是通用的!
可见:登录标志的存储,需要可以区分浏览器,并在该浏览器的多次请求周期内,可以持久存储的一种数据存储机制!
以上的存储机制,就是会话技术!
分配:
Back/AdminController->checkAction();
判断:
Back/ManageController->indexAction()
以框架基础代码中 扩展工具的角色 出现项目中!
增加相应的目录常量:
Index.php
采用面向对象的编程思想完成:
工具类。
要求:
增加session入库工具类(完成其自动加载)
入库操作由工具类对象的方法充当。
在实例化该工具类对象时,完成设置session处理器,并开启session。
增加session入库工具类(完成其自动加载)
入库操作由工具类对象的方法充当
要求使用项目中统一的DAO完成数据库操作。
在实例化该工具类对象时,完成设置session处理器,并开启session。
由构造方法完成:
使用:
创建session表:
项目中,原本session_start(),由new SessionDB即可!
将原来入口文件中功能,放在该类中完成,入口文件变得简单,轻量!
将入口文件中的各个功能,由框架类的各个方法,完成:
为了简单化,使用纯静态的类。(看成功能的集合)
此时入口文件:
标签:ack 因此 实例 学习 index 总结 统一 如何 要求
原文地址:https://www.cnblogs.com/RighTgraM/p/10971449.html