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。如果答案有用,请接受并投票。谢谢。 –