Welcome Guest, Not a member yet? Register   Sign In
Optimize Controller
#1

[eluser]Unknown[/eluser]
Before I get too deep in my code I have noticed that I have been repeating myself in my controller. Is there any way to avoid this? The header info gets pulled on every page and I was wondering if there was a way to autoload it?

Controller File for About Page

Code:
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');

class About extends CI_Controller {

public function index()
{
  $this->load->library('header');
  
  $data['title']    = $this->header->get_page_name();
  $data['gutter_value']  = $this->header->get_gutter_value();
  $data['js_page']   = $this->header->get_js_page_file();
  $data['page']    = $this->header->page;
  $data['index_page']  = $this->header->index_page;
  $data['nav_names']   = $this->header->nav_names;
  $data['banner_img']  = $this->header->get_banner_img();
  $data['nav_header']  = $this->header->get_nav_header();
  
  $this->load->view('includes/header', $data);
  
  $this->load->view('about/about_view');
  
  $this->load->view('includes/footer');
}

public function resume()
{
  $this->load->library('header');
  
  $data['title']    = $this->header->get_page_name();
  $data['gutter_value']  = $this->header->get_gutter_value();
  $data['js_page']   = $this->header->get_js_page_file();
  $data['page']    = $this->header->page;
  $data['index_page']  = $this->header->index_page;
  $data['nav_names']   = $this->header->nav_names;
  $data['banner_img']  = $this->header->get_banner_img();
  $data['nav_header']  = $this->header->get_nav_header();
  
  $this->load->view('includes/header', $data);
  
  $this->load->view('about/resume_view');
  
  $this->load->view('includes/footer');
}

public function recommendations()
{
  $this->load->library('header');
  
  $data['title']    = $this->header->get_page_name();
  $data['gutter_value']  = $this->header->get_gutter_value();
  $data['js_page']   = $this->header->get_js_page_file();
  $data['page']    = $this->header->page;
  $data['index_page']  = $this->header->index_page;
  $data['nav_names']   = $this->header->nav_names;
  $data['banner_img']  = $this->header->get_banner_img();
  $data['nav_header']  = $this->header->get_nav_header();
  
  $this->load->view('includes/header', $data);
  
  $this->load->view('about/recommendations_view');
  
  $this->load->view('includes/footer');
}

public function achievements()
{
  $this->load->library('header');
  
  $data['title']    = $this->header->get_page_name();
  $data['gutter_value']  = $this->header->get_gutter_value();
  $data['js_page']   = $this->header->get_js_page_file();
  $data['page']    = $this->header->page;
  $data['index_page']  = $this->header->index_page;
  $data['nav_names']   = $this->header->nav_names;
  $data['banner_img']  = $this->header->get_banner_img();
  $data['nav_header']  = $this->header->get_nav_header();
  
  $this->load->view('includes/header', $data);
  
  $this->load->view('about/achievements_view');
  
  $this->load->view('includes/footer');
}
}




Theme © iAndrew 2016 - Forum software by © MyBB