title: How to load models in the extended MY_Router class in codeigniter
body: <p>I am not able to load models to the extended My_Router class in codeigniter. Below is my code:</p>
  
  <pre><code>class MY_Router extends CI_Router {
  
      function MY_Router()
      {
          parent::CI_Router();
      }
  
      function _validate_request($segments)
      {
          // Does the requested controller exist in the root folder?
          if (file_exists(APPPATH.'controllers/'.$segments[0].EXT))
          {
              return $segments;
          }
  
          // Is the controller in a sub-folder?
          if (is_dir(APPPATH.'controllers/'.$segments[0]))
          {
              // Set the directory and remove it from the segment array
              $this-&gt;set_directory($segments[0]);
              $segments = array_slice($segments, 1);
  
              if (count($segments) &gt; 0)
              {
                  // Does the requested controller exist in the sub-folder?
                  if ( ! file_exists(APPPATH.'controllers/'.$this-&gt;fetch_directory().$segments[0].EXT))
                  {
                      show_404($this-&gt;fetch_directory().$segments[0]);
                  }
              }
              else
              {
                  $this-&gt;set_class($this-&gt;default_controller);
                  $this-&gt;set_method('index');
  
                  // Does the default controller exist in the sub-folder?
                  if ( ! file_exists(APPPATH.'controllers/'.$this-&gt;fetch_directory().$this-&gt;default_controller.EXT))
                  {
                      $this-&gt;directory = '';
                      return array();
                  }
  
              }
              return $segments;
          }
  
          // Let's check if there are category segments
      $category_routes = $this-&gt;category_routing($segments);
          if($category_routes !== FALSE)
      {
              return $category_routes;
          }
      $user_routes = $this-&gt;user_routing($segments);
      if($user_routes != FALSE)
      {
          return $user_routes;
      }
  
          show_404($segments[0]);
      }
  
      function category_routing($segments)
      {
          $this-&gt;load-&gt;model('category_model');
          if($this-&gt;category_model-&gt;category_exist($segments[0]))
          {
              //if only category
              if(count($segments)==1)
              {
                  return array('category', 'category_browse', $segments[0]);  
              }
              //category pagination
              if(count($segments)==2 and is_numeric($segments[1]))
              {
                  return array('category','category_browse', $segments[0], $segments[1]); 
              }
              //category upcoming
              if(count($segments)==2 and $segments[1] == 'upcoming')
              {
                  return array('category','upcoming', $segments[0]);  
              }
              //category upcoming pagination
              if(count($segments)==3 and $segments[1] == 'upcoming' and is_numeric($segments[3]))
              {
                  return array('category','upcoming', $segments[0], $segments[3]);    
              }
              //category top
              if(count($segments)==3 and $segments[1] == 'top')
              {
                  return array('category','top', $segments[0], $segments[2]); 
              }
              //category top pagination
              if(count($segments)==4 and $segments[1] == 'top' and is_numeric($segments[3]))
              {
                  return array('category','top', $segments[0], $segments[3]); 
              }
          }
          return FALSE;   
      }
  
      function user_routing($segments)
      {
          $this-&gt;load-&gt;model('dx_auth/users', 'user_model');
          if($this-&gt;user_model-&gt;check_username($segments[0]))
          {
              //only profile
              if(count($segments)==1)
              {
                  return array('user','profile',$segments[0]);    
              }
              //all friends
              if(count($segments)==2 and $segment[1]=='allfriends')
              {
                  return array('user','allfriends',$segments[0]); 
              }
              //all subscribers
              if(count($segments)==2 and $segment[1]=='allsubscribers')
              {
                  return array('user','allsubscribers',$segments[0]); 
              }
              //all subscription
              if(count($segments)==2 and $segment[1]=='allsubscriptions')
              {
                  return array('user','allsubscriptions',$segments[0]);   
              }
          }
          return FALSE;
      }
  }
  </code></pre>
  
  <p>I have tried loading the models by using get_instance function provided by codeigniter but seems like it doesnot work. All i need is load the models in extended system library.</p>