我正在使用CodeIgniter編寫網站的後端。我想要能夠使用這兩個網址: (1)website.com/product(返回所有產品的數據) (2)website.com/product/2(返回產品數據,例如ID 2) 。Codeigniter _remap函數將其自己的默認值設置爲字符串「index」
我有一個產品控制器,這裏是大綱的相關代碼:
class Product extends CI_Controller
public function _remap($id = -1)
{
$this->my_function($id)
}
public function my_function($n)
{
if ($n == -1)
{
// Code to return data on all products
}
else
{
// Code to return specific product data
}
}
我使用_remap()
原因無它,當URL的形式website.com/product/id,笨的會想要將id解釋爲一種方法。如果URL只是website.com/product,那麼$ id變量被設置爲默認值-1。但奇怪的是,這並沒有發生:相反$ id被設置爲字符串「index」(我通過在_remap()函數中添加var_dump($id);
來檢查這一點)。
這是怎麼回事?
我可以只要將if子句更改爲'if($ n ==「index」)',但我想知道發生了什麼。 – Bill