How can I load fragments into a function to reduce duplicate code.
For instance if I used the following code;
public function site()
{
$this->load->model('model_get');
$data["results"] = $this->model_get->getData(__FUNCTION__);
$this->load->view('view_head', $data);
$this->load->view('view_nav');
$this->load->view('view_content_' . __FUNCTION__, $data);
$this->load->view('view_footer');
}
How could I reduce it to something light like:
public function site()
{
command $this->load->model('site_loader');
//Function specific code
}
With site_loader.php containing:
$this->load->model('model_get');
$data["results"] = $this->model_get->getData(__FUNCTION__);
$this->load->view('view_head', $data);
$this->load->view('view_nav');
$this->load->view('view_content_' . __FUNCTION__, $data);
$this->load->view('view_footer');
Working code based on totymedli suggestion.
Controller
public function site()
{
$pagename = __FUNCTION__;
include 'resources/scripts/site_loader.php';
}
Site Loader
<?php
$this->load->model('model_get');
$data["results"] = $this->model_get->getData($pagename);
$this->load->view('view_head', $data);
$this->load->view('view_nav');
$this->load->view('view_content_' . $pagename, $data);
$this->load->view('view_footer');
?>