当开发大型项目的时候,可以会需要成千上万的文件
面向对象通过命名空间来解决这个问题的。
PHP命名空间是PHP5.3以后才出现的。
命名空间中可以出现:类,函数,常量
只有const定义的常量命名空间才有效。
命名空间的名字必须符合PHP命名的规则。
命名空间是逻辑上的定义,逻辑的名称 不是物理上的路径
Tp中为了寻址的方便把命名空间做成地址
命名空间的声明和使用(namespace1.php)命名空间的多级访问一(namespace2.php)
命名空间的多级访问二(namespace3.php)
空间元素访问的三种形式
1、非限定名称访问
echo getInfo()
类似于:require ('getinfo.php');
2、限定名称访问,是相对限定
China\getInfo();
类似于:requrie ('China/getInfo.php');
3、完全限定访问
\China\getInfo();
类似于 requre ('c:\China\getinfo.php');
引用命名空间(namespace4.php)命名空间的注意事项:
1、最顶层的\表示的是公共空间
2、namespace必须在最上面。
3、命名是虚拟的空间,不是真实存在的目录,但是ThinkPHP的命名空间是真实的地址路径。
4、当前文件中include具有命名空间的文件,不会改变当前文件的命名空间。
5、use有两个作用 引入命名空间 引入类
一.RBAC 1. 介绍RBAC: role base access controller (基于角色的访问控制功能)
权限控制器第一个阶段:
该权限控制器是用户与具体 *** 作模块直接联系。
该方式权限设置好处:实现相对比较容易、用户的权限非常清晰。
不好:权限设置“太具体”,管理员需要每天花大量的时间给“新增用户”设置权限,给“离职用户”取消权限。
有时还需要给个别人员设置差异权限。
权限设置第二个阶段:
权限可以与组别直接对应
管理员-------->组---------->权限
基于组(角色)的权限设置,使得用户与组别直接联系、组别与权限直接对应
组别对应的具体的权限已经固化的信息
用户与组别的对应关系是动态的,需要管理员维护
该方式权限设置非常高效,管理员后期只需要知道用户是属于哪个组别的就可以。
3. 管理员根据自己角色显示对应权限
4. 给admin超级管理员开放全部权限
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)