OT: CodeIgniter Routing

keith smith klsmith2020 at yahoo.com
Fri Nov 30 10:28:34 MST 2012


I want to create separate CRUD controllers for each table.  If I use one controller to manage 30 or 40 tables I end up with a controller that would be thousands of lines long.  

I am following the M-V-C methodology built into Codeigniter.

I'm trying to figure out how to build the routing so that I can have :

/cp - menu and login

/cp/pages - CRUD controller for the pages table

/cp/users - CRUD controller for the users table

I will need to CRUD 30+ tables.  

Thank you for your help!
   

------------------------

Keith Smith

--- On Fri, 11/30/12, Amit Nepal <amit at amitnepal.com> wrote:

From: Amit Nepal <amit at amitnepal.com>
Subject: Re: OT: CodeIgniter Routing
To: plug-discuss at lists.phxlinux.org
Date: Friday, November 30, 2012, 10:06 AM


  

    
  
  
    I avoid routes as much as possible.
      Controller alone can handle various functions and you don't really
      need to create multiple controllers for similar task. Helps keep
      it simple. 

      

      eg. if I were to have  CRUD operations on a page, i would create a
      page controller , which would then have various functions like
      add  , delete, update etc and the default (index) function in the
      controller would list stuffs.

      

      For database as Tom metioned, just use the model (eg.
      page_model.php , would have all the functions related to database
      ) ,  you can then load  page model in the page controller and do
      the CRUD operations.

      

      http://tutorialcodeigniter.com/beginners/welcome.html  ( This
      might be helpful too)

      

      

      Amit K Nepal

          Infrastructure Engineer (RHCE)

          omNovia Technologies Inc

          Amit K Nepal

          
      On 11/30/2012 9:53 AM, Tom Haws wrote:

    
    Yeah.  Keep researching CodeIgniter tutorials, because
      ideally, you wouldn't ever need to use routes.php unless you had a
      need for an alias or some other special occasion.

      

      On another note, it would be more conventional to talk to your
      database tables in model files and then call model functions in
      your controllers.  Again, I recall watching a short CodeIgniter
      tutorial video that really helped clarify this.

      

        --

        "To forgive is the highest, most beautiful form of love. In
        return, you will receive untold peace and happiness." - Dr.
        Robert Muller

        

        

        On Fri, Nov 30, 2012 at 9:36 AM, Eric
          Cope <eric.cope at gmail.com>
          wrote:

          
            You can just put your controller "pages" in the
            controller/cp directory...
            

            
            Then you don't have to muck with the routes...
            

            
            Eric
            

              

              
                
                  On Fri, Nov 30, 2012 at 9:20 AM, keith
                    smith <klsmith2020 at yahoo.com>
                    wrote:

                  
                
                
                  
                    
                      
                        
                          
                            

                              

                              Hi,

                              

                              I'm rather new to CodeIgniter.  I'm using
                              version 2.0.3 and am using the provided
                              .htaccess code to remove index.php from
                              the URL.  

                              

                              I'm working on a control panel and would
                              like to set up a controller for each table
                              to keep things simple and modular.  (any
                              feedback on a better idea is much
                              appreciated)

                              

                              I was thinking I needed to configure the
                              controllers this way

                              

                              1) $route['cp/pages/(:any)'] = "cp_pages";
                              (would contain only controller code for
                              managing the pages table.)

                              

                              2) $route['cp/users/(:any)'] = "cp_users";
                              (would contain only controller code for
                              managing the users table.)

                              

                              .... other table configured with their own
                              control panel.

                              

                              3) $route['cp/'] = "cp"; (splash page and
                              menu.  If not logged in presents the log
                              in form)

                              

                              /cp/  gives me the splash page. so far so
                              good.

                              

                              /cp/pages - cp controller - not what I was
                              expecting.  I was wanting the index
                              function of the cp_pages controler.

                              

                              /cp/pages/list/ - takes me to the cp_pages
                              controller / index function

                              

                              What I would like to configure is:

                              

                              /cp/ - use cp controller

                              

                              /cp/pages/ - use the cp_pages controller /
                              index function

                              /cp/pages/add/ - use the cp_pages
                              controller / add function 

                              /cp/pages/list - use the cp_pages
                              controller /list function

                              /cp/pages/list/10 - use the cp_pages
                              controller /list function with segment set
                              to 10 as starting point.

                              

                              If I'm going down the wrong path please
                              let me know.

                              

                              Thank you!  

                              

                              

                              ------------------------

                              Keith Smith
                          
                        
                      
                      

                    
                  
                  ---------------------------------------------------

                  PLUG-discuss mailing list - PLUG-discuss at lists.phxlinux.org

                  To subscribe, unsubscribe, or to change your mail
                  settings:

                  http://lists.phxlinux.org/mailman/listinfo/plug-discuss

                
              
              

            
            

            ---------------------------------------------------

            PLUG-discuss mailing list - PLUG-discuss at lists.phxlinux.org

            To subscribe, unsubscribe, or to change your mail settings:

            http://lists.phxlinux.org/mailman/listinfo/plug-discuss

          
        
        

      
      

      
      

      ---------------------------------------------------
PLUG-discuss mailing list - PLUG-discuss at lists.phxlinux.org
To subscribe, unsubscribe, or to change your mail settings:
http://lists.phxlinux.org/mailman/listinfo/plug-discuss
    
    

  


-----Inline Attachment Follows-----

---------------------------------------------------
PLUG-discuss mailing list - PLUG-discuss at lists.phxlinux.org
To subscribe, unsubscribe, or to change your mail settings:
http://lists.phxlinux.org/mailman/listinfo/plug-discuss
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.phxlinux.org/pipermail/plug-discuss/attachments/20121130/a8759a11/attachment.html>


More information about the PLUG-discuss mailing list