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超級管理員開放所有權限

相關文章
相關標籤/搜索