[英]Mutliple URL Segments to Index Function With CodeIgniter
如果這是一個令人難以置信的愚蠢問題,請原諒我,因為我是CodeIgniter的新手。
我的驗證系統有一個名為Verify的控制器。 我希望能夠使用像site.com/verify/123/abcd
這樣的東西,但我只想使用索引功能,因此兩個URL段都需要轉到它。
我確信這可以通過URL路由以某種方式完成,但我無法弄清楚如何將兩個URL段傳遞給Verify的索引函數。
routes.php中的這樣的東西應該做的工作:
$ route ['verify /(:any)/(:any)'] =“verify / index / $ 1 / $ 2”;
我很確定你可以在CodeIgniter多個參數中傳遞任何控制器方法,而無需修改路由或.htaccess,除非我誤解了這個問題。
function index($arg_one, $arg_two)
{
}
$ arg_one表示123和$ arg_two表示示例URI中的abcd。
您將需要編輯路由或編寫htaccess規則,但是我不明白為什么要限制索引函數。
如果您因某些原因不想使用路線,那么您可以將此功能添加到相關控制器中。
public function _remap($method_in, $params = array()) {
$method = 'process_'.$method_in;
if (method_exists($this, $method)) {
return call_user_func_array(array($this, $method), $params);
}
array_unshift($params, $method_in);
$this->index($params);
}
基本上它與CI中的默認行為相同,除了不在“無法查找方法”上發送404,它會向索引發送未完成的方法調用。
您需要更改索引函數以將數組作為第一個參數。 或者,如果您知道自己只需要2個參數,則可以將最后2行更改為
$this->index($method_in, $params[0]);
當然,有些人使用與控制器中的方法相同的參數,兩個解決方案都失敗了。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.