摘要: 1 2 省/市: 3 市/区: 4 5 运行: 阅读全文
posted @ 2018-09-25 17:41 昊晗远昂 阅读(4292) 评论(0) 推荐(0) 编辑
摘要: 众所周知,CSS样式有三种类型:行内样式、内部样式和外部样式,JavaScript获取CSS样式时分为两种情况:行内样式获取法 和 非行内样式获取法 。 一、行内样式获取相对简单,通过element.style.attr(元素.style.属性)即可获取,示例: 运行: 通过element.styl 阅读全文
posted @ 2018-09-18 18:26 昊晗远昂 阅读(1310) 评论(0) 推荐(0) 编辑
摘要: JavaScript 有三部分构成,ECMAScript,DOM和BOM,根据宿主(浏览器)的不同,具体的表现形式也不尽相同,IE和其他的浏览器风格迥异。对象是JavaScript最重要的API,包含内置对象、外部对象(window对象、dom对象)和自定义对象。 1、BOM全称Browser Ob 阅读全文
posted @ 2018-09-17 18:12 昊晗远昂 阅读(1564) 评论(0) 推荐(0) 编辑
摘要: RBAC英文全称(Role-Based Access Controller)即基于角色的权限访问控制,简单来讲,一个用户可以拥有若干角色,每一个角色拥有若干权限。这样,就构造成“用户-角色-权限”的授权模型。相比于传统权限管理方式(如早期的ecshop,是将权限与用户直接挂钩),RBAC有以下优点: 阅读全文
posted @ 2018-09-16 18:08 昊晗远昂 阅读(1711) 评论(1) 推荐(0) 编辑
摘要: PHP面向对象的三大特性:封装性、继承性、多态性。 1. 封装性: 也称为信息隐藏,就是将一个类的使用和实现分开,只保留部分接口和方法与外部联系,或者说只公开了一些供开发人员使用的方法。 于是开发人员只需要关注这个类如何使用,而不用去关心其具体的实现过程,这样就能实现MVC分工合作,也能有效避免程序 阅读全文
posted @ 2018-09-15 18:10 昊晗远昂 阅读(477) 评论(0) 推荐(0) 编辑
摘要: 插入排序基本思路:将数组分为两个区(已排序区和未排序区),假定数组的第一个元素处于已排序区, 第一个元素之后的所有元素都处于未排序部分。排序时用到双层循环,外层循环用于从未排序部分中取出待排序元素,并逐步缩小未排序部分,内层循环用于从已排序部分寻找插入位置(即不断地从已排序部分寻找比待排序元素大的元 阅读全文
posted @ 2018-09-14 17:01 昊晗远昂 阅读(2846) 评论(0) 推荐(1) 编辑
摘要: ThinkPHP支持两种构造方法: __construct和_initialize(ThinkPHP内置的构造方法)。 测试URL为: http://oa.com/index.php/Admin/User/add 修改用户控制器类文件UserController.class.php 如下: 1、__ 阅读全文
posted @ 2018-09-13 18:19 昊晗远昂 阅读(398) 评论(0) 推荐(1) 编辑
摘要: 上篇《ThinkPHP空操作和空控制器的处理》中,在处理空操作时修改了父类Controller.class.php中代码,不到万不得已不能 修改基类控制器中的原码,此时可在子类与父类之间,创建一个中间控制器CommonController.class.php通过链式继承来实现。 此时先删除先前基类C 阅读全文
posted @ 2018-09-12 18:28 昊晗远昂 阅读(374) 评论(0) 推荐(0) 编辑
摘要: 所谓的空操作和空控制器,简而言之就是系统中不存在该方法或控制器,导致系统报错(本文版本3.2.3)。 正确URL(测试环境): http://oa.com/index.php/admin/public/login 访问如下: 一:空操作处理 修改方法为loginw时报错如下: 系统默认内置报错机制: 阅读全文
posted @ 2018-09-11 18:20 昊晗远昂 阅读(640) 评论(0) 推荐(0) 编辑
摘要: 创建两个表如图: sp_user表: sp_dept表: 目的:通过sp_user的dept_id查询所属部门即sp_dept中的name。 原生sq方法一:select t1.*,t2.name as deptname from sp_user as t1,sp_dept as t2 where 阅读全文
posted @ 2018-09-10 15:58 昊晗远昂 阅读(563) 评论(0) 推荐(0) 编辑