U方法的使用 ThinkPHP3 2

2022-08-28 22:51:27 字數 1870 閱讀 8083

為了能夠動態的根據當前的url設定生成對應的url位址,thinkphp內建提供了u方法,用於url的動態生成。

u方法的定義規則如下(方括號內引數根據實際應用覺得):

u('位址表示式',['引數'],['偽靜態字尾'],['顯示網域名稱'])

位址表示式

1. [模組/控制器/操作#錨點@網域名稱]?引數1=值1&引數2=值2...

如果不定義模組的話 就表示當前模組名稱,下面是一些簡單的例子:

1 u('user/add'); //

生成user控制器的add操作的url位址

2 u('blog/read?id=1'); //

生成blog控制器的read操作,並且id為1的url位址

3 u('admin/user/select'); //

生成admin模組的user控制器的select操作的url位址

引數

u方法的第二個引數支援陣列和字串兩種定義方式,如果只是字串方式的引數可以在第乙個引數中定義,例如:

1 u('blog/cate', array('cate_id'=>1,'status'=>1));

2 u('blog/cate','cate_id=1&status=1');

3 u('blog/cate?cate_id=1&status=1');

三種方式是等效的,都是生成blog控制器的cate操作 並且cate_id 為1 status 為1的url位址。

但是不允許使用下面的定義方式來傳引數

1 u('blog/cate/cate_id/1/status/1');

偽靜態字尾

1 u('blog/cate','cate_id=1&status=1','xml');

自動識別

1 u('blog/read?id=1');

如果開啟了url_case_insensitive ,則會統一生成小寫的url位址。

生成路由位址

u方法還可以支援路由,如果我們定義了乙個路由規則為:

1 'news/:id\d'=>'news/read'

那麼可以使用

注意:如果你是在模板檔案中直接使用u方法的話,需要採用  的方式,具體參考模板的使用函式內容。

網域名稱支援

1  u('blog/[email protected]','id=1');

@後面傳入需要指定的網域名稱即可

thinkphp3快取漏洞

namespace home controller use think controller class indexcontroller extends controller 我們在瀏覽器訪問 快取檔案的名稱8d777f385d3dfec8815d20f7496026dc就是s data data ...

ThinkPHP 3種例項化model方法

1.例項化model 的三種方式 1.goods new 命名空間 goodsmodel 2.goods d 模型標誌 a goods d goods b 該 goods 是父類model 的物件,但是操作的資料表還是 sw goods c obj d 例項化 model 物件,沒有具體運算元據表,...

ThinkPHP3 新增,修改,刪除

goods控制器的 add 方法中獲取商品分類 在add.html中迴圈獲取 方法一 create 的作用 php中新增的語法如下 success 和 error 方法是thinkphp 自帶的執行成功和失敗的方法,可以用此方法來實現跳轉。i 用來獲取 get post session cookie...