為了能夠動態的根據當前的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/read@blog.thinkphp.cn','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...