ThinkPHP5 響應輸出 03

2021-08-04 21:33:16 字數 1012 閱讀 3412

重定向

可以使用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...