【发布时间】:2017-03-18 04:40:06
【问题描述】:
这几天我正在努力学习 codeigniter,我正在努力根据路由理解视图、控制器和模型的结构以维护安全性。
那么,我们应该如何构建我们的视图、控制器和模型,用于管理后端和用户后端,我的意思是文件夹、子文件夹和路由?
首先我想提一下我是如何整理文件的: 我的路线:
$route['default_controller'] = 'site/home';
$route['home'] = 'site/home';
所以这里的默认控制器是 Site.php :
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
class Site extends CI_Controller {
/**
* Index Page for this controller.
*
* Maps to the following URL
* http://example.com/index.php/welcome
* - or -
* http://example.com/index.php/welcome/index
* - or -
* Since this controller is set as the default controller in
* config/routes.php, it's displayed at http://example.com/
*
* So any other public methods not prefixed with an underscore will
* map to /index.php/welcome/<method_name>
* @see https://codeigniter.com/user_guide/general/urls.html
*/
public function index()
{
$data['body']='site/home';
$this->load->view('includes/template',$data);
}
public function home(){
$data['body']='site/home';
$this->load->view('includes/template',$data);
}
public function AnotherMethod(){
$data['body']='site/AnotherPage';
$this->load->view('includes/template',$data);
}
我的视图模板是(views/includes/template.php):
<?php
//load head
$this->load->view('includes/header');
//load body
$this->load->view($body);
//load footer
$this->load->view('includes/footer');
?>
因此,如果我这样放置,我在从子文件夹访问视图时遇到问题。例如,
directory : views/site/userbackend/index.php
or views/site/adminbackend/index.php
并且根据admin backend和user backend,子文件夹中还有controllers和models。
我将如何访问它们?
我在这里只是想说明我遇到了什么样的问题.. 因此,现在所有问题的答案都可以解决,只要您将我引导到专家如何操作和构建组件以及最佳实践是什么的场景。
我知道我一次让这个问题变得很复杂,很抱歉,如果你想让我更清楚地了解一个主题,请告诉我,我会更新我的问题。
在这里需要帮助。 提前致谢!
【问题讨论】:
-
developers.ph/codeigniter/… 这可能会有所帮助
-
@MalikMudassar 感谢您的链接,我会调查一下。
标签: codeigniter model-view-controller views models controllers