我使用CodeIgniter工作刪除方法名稱索引。對於index
函數,我使用參數$user
(這是第二個URI段)以顯示有關該用戶的一些信息。因此,默認網址如下所示:CodeIgniter的URI路由:(:2.2.6 V),我有一個簡單的類<code>User</code>與像<code>create</code>,<code>update</code>,<code>edit</code>,<code>delete</code>和<code>index</code>一些基本的方法,從URL
/user/index/john
顯示有關用戶'john'的一些信息。
現在,我想從URL中移除術語「指標」,使它看起來像:
/user/john
爲此我已經添加在routes.php文件下面的規則。
$route['user/(:any)'] = "user/index/$1";
它服務的目的,但它可以防止訪問其它功能,如/user/create
和自動進入內部/user/index
。爲了解決這個問題,我不能看到任何其他方式除了手動添加路由規則等
$route['user/create'] = "user/create";
爲User
類,這是不冷靜在所有的每個方法。那麼,請問任何人都可以在目前的情況下給我一個更好的路由方式嗎?
這裏是我的代碼:
<?php if (! defined('BASEPATH')) exit('No direct script access allowed');
class User extends CI_Controller {
public function index($user = '') {
echo "index!";
}
public function create() {
echo 'create!';
}
}
注:我已經通過笨documentation的URI路由和另一個相似的問題here走了,但不能想出一個可行的解決方案。並且請不要爲CodeIgniter版本更新提出建議。
爲什麼在你的特定路由中添加(:any)是否是列表中的最後一個?你不會穿着你的鍵盤輸入英寸 – TimBrownlaw
@TimBrownlaw以及我保持功能列表爲了演示的目的而變小。考慮一個真實生活場景,其中類內的方法數量可能是10,20或30. – Rivnat