0
我已經創建了一個Web應用程序與Codeigniter,我有一個在url,控制器和結構級別的問題。Codeigniter 3 url路由與獨立控制器
我有以下網絡結構。
http://projectroot/admin
然後,我有幾個部分,如:
http://projectroot/admin/users
http://projectroot/admin/profile
http://projectroot/admin/section_tracking
http://projectroot/admin/section_products
etc...
我與會話和其他圖書館
目前我有稱爲管理單個控制器一切工作,但我想創建將調用url的每個部分的獨立控制器。
在聯繫我:
class Admin extends CI_Controller {
public function __construct() {
parent::__construct();
$this->load->library('form_validation');
$this->load->library('My_PHPMailer');
$this->load->library('session');
}
public function index(){
if($this->session->userdata('login')){
if($this->session->userdata('urlnow')){
$url = $this->session->userdata('urlnow');
redirect($url);
}else{
redirect('admin/index');
}
}else{
$data = array();
$data['usererror'] = $this->session->flashdata('usererror');
$data['passerror'] = $this->session->flashdata('passerror');
$data['message'] = $this->session->flashdata('message');
$this->load->view('admin/index', $data);
}
}
...
public function users() {
code....
}
public function profile() {
code....
}
public function section_tracking() {
code....
}
public function section_products() {
code....
}
我的想法是控制器文件夾中包含這樣的事情:
admin.php
users.php
profile.php
section_products.php
section_visits.php
創建獨立的管理員擴展類(用戶配置文件,section_tracking和section_products)作爲獨立控制器之外的管理員,具有類似於此的結構:
users.php
class Users extends Admin {
public function __construct() {
parent::__construct();
$this->load->library('form_validation');
$this->load->library('My_PHPMailer');
$this->load->library('session');
}
public function index(){
code here...
}
}
profile.php
class Profile extends Admin {
public function __construct() {
parent::__construct();
$this->load->library('form_validation');
$this->load->library('My_PHPMailer');
$this->load->library('session');
}
public function index(){
code here...
}
}
我該怎麼辦?我不想使用HMVC,我只想用MVC本地。
謝謝
我可以訪問個人資料只有當我把: HTTP:// projectroot/profile文件 但我希望它是這樣工作的: HTTP:// projectroot /管理/配置文件 在路線我: $ route ['default_controller'] ='admin'; $ route ['admin'] =「admin」; $ route ['(:any)'] ='admin/$ 1'; – Sylar
太好了,非常感謝,我可以解決它,有必要配置文件routes.php,我只是這樣寫: $ route ['(:any)'] ='admin/$ 1'; – Sylar
祝賀並享受codeigniter。如果答案有用,請接受並投票。謝謝。 –