• 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Refactoring controllers. :/

#1
[eluser]pluus[/eluser]
Code:
<?php
class News extends CI_Controller {

public function __construct()
{
  parent::__construct();
  $this->load->model('news_model');
}

public function index()
{
  $data['news'] = $this->news_model->get_news();
  $data['title'] = 'News archive';

$this->load->view('templates/header', $data);
$this->load->view('news/index', $data);
$this->load->view('templates/footer');
}

public function view($slug)
{
  $data['news_item'] = $this->news_model->get_news($slug);

  if (empty($data['news_item']))
  {
   show_404();
  }

  $data['title'] = $data['news_item']['title'];

  $this->load->view('templates/header', $data);
  $this->load->view('news/view', $data);
  $this->load->view('templates/footer');
}

public function create()
{
  $this->load->helper('form');
  $this->load->library('form_validation');
  $data['title'] = 'Create a news item';
  $this->form_validation->set_rules('title', 'Title', 'required');
  $this->form_validation->set_rules('text','text','required');

  if($this->form_validation->run() === FALSE)
  {
   $this->load->view('templates/header', $data);
   $this->load->view('news/create');
   $this->load->view('templates/footer');
  }
  else
  {
   $this->news_model->set_news();
   $this->load->view('news/success');
  }
}
}?>

I've been going through the codeigniter tutorials and the final code ended up like that.
However, several methods in this controller are calling their own template files(header/footer) here and there. Since I'm a newbie, I'm not sure if it's a good idea to allow each method to call their own templates - they're kinda duplicating! Is this the correct way of programming controllers to let each method do that?? Is there a way to refactor it so that I can minimize calling the templates?


Messages In This Thread
Refactoring controllers. :/ - by El Forum - 08-07-2012, 10:22 AM
Refactoring controllers. :/ - by El Forum - 08-07-2012, 11:01 AM
Refactoring controllers. :/ - by El Forum - 08-07-2012, 11:42 AM

Digg   Delicious   Reddit   Facebook   Twitter   StumbleUpon  


Users browsing this thread:
1 Guest(s)


  Theme © 2014 iAndrew  
Powered By MyBB, © 2002-2019 MyBB Group.