Welcome Guest, Not a member yet? Register   Sign In
CodeIgniter helpful hints
#22

[eluser]xwero[/eluser]
[quote author="CodeIgniter" date="1203454058"]@xwero about reply #18: I tend to disagree as I think absolutely the opposite.

The fact of the matter is that you need Base controllers, otherwise, it implies that your code is very repetitive. Some controllers share the same behavior, especially at initialization, it is perfectly natural to group these behaviors in a parent class. This is exactly what inheritance is about. The MY_Controller.php file is a convenience file provided to do exactly that. You don't have to name your extended controller MY_Controller for it to be available. I guess people do it for consistency, but you can as well name it 'Base' and create other Parent classes in the same file with other arbitrary names. They still will be available to your application's controllers.
[/quote]
I'm not saying you don't need base controllers. I'm saying break up your files as much as possible. When there are changes later you can limit the impact of the changes to the files that need the change. For instance:
Code:
// my_controller.php
My_controller extends Controller{}
// admin_controller.php
include('my_controller.php');
Admin_controller extends MY_Controller{}
// users.php
include('admin_controller.php');
Users extends Admin_Controller{}
// blog.php
include('admin_controller.php');
Blog extends Admin_Controller{}
// rss.php
include('admin_controller.php');
Rss extends Admin_Controller{}
You need to make changes to the admin_controller that only affect the blog and rss child classes. You only have to create another file and change the include for those child classes. If there is an error in the code it only affects those child classes.

If you put the new my_controller extended class in the my_controller file all children will be affected if there is an error.


Messages In This Thread
CodeIgniter helpful hints - by El Forum - 02-07-2008, 08:03 PM
CodeIgniter helpful hints - by El Forum - 02-07-2008, 10:57 PM
CodeIgniter helpful hints - by El Forum - 02-07-2008, 11:30 PM
CodeIgniter helpful hints - by El Forum - 02-08-2008, 12:32 AM
CodeIgniter helpful hints - by El Forum - 02-08-2008, 06:24 AM
CodeIgniter helpful hints - by El Forum - 02-08-2008, 07:17 AM
CodeIgniter helpful hints - by El Forum - 02-08-2008, 07:37 AM
CodeIgniter helpful hints - by El Forum - 02-08-2008, 10:36 PM
CodeIgniter helpful hints - by El Forum - 02-08-2008, 10:52 PM
CodeIgniter helpful hints - by El Forum - 02-09-2008, 12:14 AM
CodeIgniter helpful hints - by El Forum - 02-09-2008, 01:57 AM
CodeIgniter helpful hints - by El Forum - 02-12-2008, 02:25 AM
CodeIgniter helpful hints - by El Forum - 02-12-2008, 03:01 AM
CodeIgniter helpful hints - by El Forum - 02-12-2008, 11:29 AM
CodeIgniter helpful hints - by El Forum - 02-12-2008, 04:30 PM
CodeIgniter helpful hints - by El Forum - 02-12-2008, 08:53 PM
CodeIgniter helpful hints - by El Forum - 02-14-2008, 03:41 AM
CodeIgniter helpful hints - by El Forum - 02-14-2008, 06:46 AM
CodeIgniter helpful hints - by El Forum - 02-14-2008, 07:47 AM
CodeIgniter helpful hints - by El Forum - 02-14-2008, 09:52 AM
CodeIgniter helpful hints - by El Forum - 02-19-2008, 08:47 AM
CodeIgniter helpful hints - by El Forum - 02-19-2008, 09:38 AM
CodeIgniter helpful hints - by El Forum - 02-19-2008, 09:41 AM
CodeIgniter helpful hints - by El Forum - 02-19-2008, 06:43 PM
CodeIgniter helpful hints - by El Forum - 02-19-2008, 10:15 PM
CodeIgniter helpful hints - by El Forum - 02-20-2008, 01:35 AM
CodeIgniter helpful hints - by El Forum - 02-20-2008, 02:06 AM
CodeIgniter helpful hints - by El Forum - 02-20-2008, 03:00 AM
CodeIgniter helpful hints - by El Forum - 02-26-2008, 08:13 AM
CodeIgniter helpful hints - by El Forum - 03-06-2008, 04:38 AM
CodeIgniter helpful hints - by El Forum - 03-06-2008, 08:32 AM
CodeIgniter helpful hints - by El Forum - 04-03-2008, 10:19 AM
CodeIgniter helpful hints - by El Forum - 04-04-2008, 10:07 PM
CodeIgniter helpful hints - by El Forum - 04-11-2008, 03:13 AM
CodeIgniter helpful hints - by El Forum - 04-18-2008, 06:35 AM
CodeIgniter helpful hints - by El Forum - 04-28-2008, 10:34 PM
CodeIgniter helpful hints - by El Forum - 05-14-2008, 01:23 AM
CodeIgniter helpful hints - by El Forum - 05-15-2008, 05:48 AM
CodeIgniter helpful hints - by El Forum - 06-18-2008, 02:40 AM
CodeIgniter helpful hints - by El Forum - 07-09-2008, 05:03 AM
CodeIgniter helpful hints - by El Forum - 07-09-2008, 05:05 AM
CodeIgniter helpful hints - by El Forum - 07-30-2008, 04:45 AM



Theme © iAndrew 2016 - Forum software by © MyBB