Welcome Guest, Not a member yet? Register   Sign In
Split controller
#1
Brick 

Hello,

I start working with codeigniter.
I have one Controller (called Pages default one) that contains all my functions.
I would like to split the file in several Controller to group by application section (House, Resident, Rentals, Utilities)
How can I achieve that?
I created server files at the same level that the main controller
....Controller
........Pages.php
........House.php
........Resident.php
........Rentals.php
........Utilities.php

It think that my main issue is about the url invoked by the views...
i.e. my navigation (views/templates/navigation.php) use the function name (logical) as href (<a href="rentals">...)
rentals being a function within Pages.php; if I move the rentals function within Rentals.php; I have of course a 404.

For information, my Routes.php contains the following
$route['default_controller'] = 'pages/index';
$route['(:any)'] = 'pages/$1';

I hope I am clear Smile
Reply
#2

I found a solution: custom libraries...
In my Page.php controller I have now:
...
public function houses() {
$this->load->library('HousesLib');
$this->houseslib->index();
}
...
And I have a library file HouseLib.php with this:
class HousesLib {
public function index() {
$CI = & get_instance();
$CI->load->library('session');
if ($CI->session->userdata('is_logged_in')) {
$CI->load->model('Houses');
......
Reply
#3

PHP Code:
$route['(:any)'] = 'pages/$1'

This is basically sending everything to your pages controller, so you can't really use any other controllers without setting up routes for them above this one.
Reply




Theme © iAndrew 2016 - Forum software by © MyBB