我想寫一個新的控制器文件,例如:笨控制器
aaa.php
class aaa extends CI_Controller
{
public function bbb()
{
// Stuff
}
}
我怎樣才能進入aaa.php的BBB(),
的例子文件以welcome.php的index()函數開頭。
我該如何改變這一點,以我的新控制器文件開始?
我想寫一個新的控制器文件,例如:笨控制器
aaa.php
class aaa extends CI_Controller
{
public function bbb()
{
// Stuff
}
}
我怎樣才能進入aaa.php的BBB(),
的例子文件以welcome.php的index()函數開頭。
我該如何改變這一點,以我的新控制器文件開始?
你想有一個單獨的功能作爲控制器的默認功能運行?爲什麼不從index()
調用這個單獨的函數呢?除此之外,我不確定你在問什麼...... CodeIgniter user_guide是相當廣泛的,如果你沒有看透它。如果你在底座提供什麼
www.mysite.com/aaa/bbb/
如果你想使用AAA控制器的BBB功能,你只要在網址中輸入驗證URL,CI將始終假定您需要index
操作。像localhost/foo
將調用foo的index()動作。用localhost/foo/bar
,你會打電話給foo的bar()動作。如果你想調用localhost
並且你想訪問foo的索引(),你需要檢查你的config.php中是否正確設置了$route['default_controller'] = 'foo';
。 (如果這不是working,檢查的.htaccess和index.php來手動添加)
:
由於GSTO說,調用函數血腦屏障進入的網址:mysite.com/aaa/bbb
如果您希望mysite.com/aaa默認調用bbb()而不是index(),您將希望在aaa.php控制器中創建_remap()函數來調用bbb()。
請參閱:CI Controllers - Functions Docs
訪問您的控制器在CodeIgniter中的方法的方法是由uri。默認路由是:
example.com/controller/function/param1/
因此,爲了獲得AAA的BBB()方法,你應該訪問以下網址:
/aaa/bbb
如果要將aaa的bbb()方法設置爲應用程序的默認頁面,則需要執行兩項操作。
你必須先告訴笨設置AAA爲您默認控制器
/* /application/config/routes.php */
$route['default_controller'] = "aaa";
之後,AAA級的index()方法將通過訪問你的基地網站URL調用。你不能告訴CodeIgniter將de默認方法index()更改爲別的東西(不需要設置某些路由),所以默認調用bbb()的最簡單方法是:
/* /application/controllers/aaa.php */
class aaa extends CI_Controller
{
public function index()
{
$this->bbb();
}
public function bbb()
{
// Stuff
}
}