重定向
可以使用redirect助手函式進行重定向
<?php
class index
}redirect函式和控制器的redirect方法的引數順序有所區別
重定向傳參
如果是站內重定向的話,可以支援url組裝,有兩種方式組裝url,第一種是直接使用完整位址(/打頭)
redirect('/index/index/hello/name/thinkphp');
redirect('hello')->params(['name'=>'thinkphp']);
最終重定向的url位址和前面的一樣的,系統內部會自動判斷並調
用url(用於快速生成url位址的助手函式)方法進行位址生成,相當於
redirect(url('hello',['name'=>'thinkphp']));
還可以支援使用with方法進行重定向隱式傳值。
<?php
class index
public function hello()
}從示例可以看到重定向隱式傳值使用的是session方式隱式傳值,
我們訪問請求
會輸出:
但當我們第二次請求
/index/index/hello
的時候,頁面輸出結果為:
記住請求位址
在很多時候,我們重定向的時候需要記住當前請求位址(為了便於跳轉回來),
我們可以使用 remember方法記住重定向之前的請求位址。
下面是乙個示例,我們第一次訪問index操作的時候會重定向到hello操作並記住當前請求位址,
然後操作完成後到restore方法,restore方法則會自動重定向到之前記住的請求位址,
完成一次重定向的回歸,回到原點!(再次重新整理頁面又可以繼續執行)
<?php
class index
else
}public function hello()
public function restore()
}
ThinkPHP5 行為和鉤子 03
自定義鉤子 現在我們用乙個應用自定義鉤子的例子來總結下鉤子和行為的使用。首先定義乙個公共的控制器基類,然後新增乙個 controller init鉤子,如下 use think controller use think hook use think request class base extend...
thinkphp5模板輸出二維陣列
在專案開發中遇到從控制器向模板傳入二維陣列並輸出問題,當從控制器傳入二維陣列時,可以用for語句進行輸出具體如下 控制器方法 public function showboundary print r boundarynt bname print r boundarynt boundaryname b...
關於thinkphp5模版輸出替換和快取檔案踩的坑
由於專案不是載入到頂級網域名稱的根目錄對映 所以,每次訪問其實是加了乙個tp5的子目錄 但是問題來了。引入檔案的時候。如果用 static js那麼其實是回到了跟專案平級的目錄下,而不是public目錄下。所以找不到檔案 tpl replace string public tp5 public js...