ThinkPHP3(命名空间、RBAC)

命名空间

当开发大型项目的时候,能够会须要成千上万的文件php

面向对象经过命名空间来解决这个问题的。函数

PHP命名空间是PHP5.3之后才出现的。ui

命名空间中能够出现:类,函数,常量spa

只有const定义的常量命名空间才有效。命名空间的名字必须符合PHP命名的规则。设计

命名空间是逻辑上的定义,逻辑的名称 不是物理上的路径3d

Tp中为了寻址的方便把命名空间作成地址对象

命名空间的声明和使用(namespace1.php)

命名空间的多级访问一(namespace2.php)

命名空间的多级访问二(namespace3.php)

空间元素访问的三种形式blog

1、非限定名称访问开发

echo  getInfo()get

相似于:require  ('getinfo.php');

2、限定名称访问,是相对限定

China\getInfo();

相似于:requrie ('China/getInfo.php');

3、彻底限定访问

\China\getInfo();

相似于  requre ('c:\China\getinfo.php');

引用命名空间(namespace4.php)

命名空间的注意事项:

1、最顶层的\表示的是公共空间

2namespace必须在最上面。

3、命名是虚拟的空间,不是真实存在的目录,可是ThinkPHP的命名空间是真实的地址路径。

4、当前文件中include具备命名空间的文件,不会改变当前文件的命名空间。

5use有两个做用 引入命名空间  引入类

一.RBAC

1. 介绍

RBAC: role  base access  controller (基于角色的访问控制功能)

权限控制器第一个阶段:

该权限控制器是用户与具体操做模块直接联系。

该方式权限设置好处:实现相对比较容易、用户的权限很是清晰。

              很差:权限设置“太具体”,管理员须要天天花大量的时间给“新增用户”设置权限,给“离职用户”取消权限。有时还须要给个别人员设置差别权限。

权限设置第二个阶段:

权限能够与组别直接对应

管理员-------->---------->权限

基于组(角色)的权限设置,使得用户与组别直接联系、组别与权限直接对应

组别对应的具体的权限已经固化的信息

用户与组别的对应关系是动态的,须要管理员维护

该方式权限设置很是高效,管理员后期只须要知道用户是属于哪一个组别的就能够。

2. 数据表设计

3. 管理员根据本身角色显示对应权限

4. admin超级管理员开放所有权限

相关文章
相关标签/搜索