模組和操作對映

2022-04-06 15:32:51 字數 1215 閱讀 9433

模板和操作對映功能是3.1.2版本支援的對模組和操作設定的對映機制,由於可以通過改變配置動態改變(實際真正改變,並非別名)url訪問位址,加強了應用的安全性,而且,對映機制具有url不區分大小寫訪問的特性,對於應用的遷移也有很大的幫助。

因為,普通情況下,如果需要更改url的模組或者操作訪問的話,需要改動的檔案較多,容易導致關聯性出錯。尤其是很多應用需要遷移到新版本的時候,由於模型和控制器改動較多,導致url位址出現大的調整,通過模組和操作對映功能,可以很輕鬆的解決此類問題。

要定義模組對映,我們只需要在配置檔案中定義:

複製**

url_module_map是乙個陣列,每個陣列項表示:

複製**

對映名稱不區分大小寫,所以設定後,url訪問從原來的:

複製**

變成了:

複製**

並且原來的訪問url是失效的,這也是和定義路由方式改變url的區別之一。沒有定義對映的模組訪問不變。

定義了模組對映後,可以通過module_alias常量讀取當前模組的url名稱。

不僅是模組名稱可以對映,操作名稱也支援對映,而且是針對模組來設定的,操作對映的定義方式為:

複製**

url_action_map引數是乙個二維陣列,每個陣列項表示:

複製**

操作對映名不區分大小寫,如上定義後,url訪問從

複製**

變成了(不考慮前面定義的模組對映):

複製**

同樣,原來的url位址訪問則失效。沒有定義對映的操作訪問位址不變。

定義了操作對映後,可以通過action_alias常量讀取當前操作在url位址中的操作名。

操作對映和模組對映可以同時定義,沒有影響,例如:

複製**

則,原來的註冊位址

複製**

變成了複製**

可能很多人會擔心,在設定了模組和操作對映後,u函式就會出現需要隨之改動的情況。其實不需要擔心,因為u函式內部已經自動支援了模組和操作對映的情況。

例如,原來在模板檔案中使用了

複製**

無論如何定義member模組和add操作的對映,u方法的寫法始終保持不變,仍然會正確的指向對映後的url位址。

模組和操作對映可以用於如下場合:

1、有經常變化url需要的場合

2、對url安全性較高的場合

3、需要移植的應用不希望改變url位址的場合

需要注意的事項

python序列對映操作

序列 表示索引為非負整數的有序物件的集合,包括字串,列表,元組 s是序列 1.s i 返回乙個序列索引為i的元素 2.s i j 返回乙個序列的切片。序列的一部分 3.s i j stride 返回乙個序列的切片,步長為stride 4.len s s中的元素數 5.min s s中的最小值 只能用...

C map對映基本操作

map是關聯容器,類似與數學中的對映,指的是兩個元素之間的對應關係map中的元素是一些關鍵字 值 key value 對,類似於python的 字典 關鍵字起到索引的作用,值則表示關鍵字相關聯的資料。map的定義 mapm 定義了乙個名為m的從t1型別指向t2型別對映,初始為空插入對映 用inser...

xorm結構體對映規則和表操作

上節內容我們學習了基本的xorm框架的知識和基礎配置的相關資訊。本節課內容我們繼續學習相關的知識和相關操作。另外,可以設定表名和表字段分別為不同的對映規則 我們在field對應的tag中對column的一些屬性進行定義,用於對我們的專案中的資料庫表字段進行設定和限定。定義的方法基本和我們寫sql定義...