[eluser]xwero[/eluser]
IMO extending the controller should be the last solution you think of. If you decide the method should be public you better go for a helper.
You said the method is private and if you want it to stay private than you have no other choice than to put it in an extended controller class and use that class as the parent of the controllers that need it.
The controller is a special case in CI to extend. The MY_Controller file is loaded from the moment the file is found by CI and as you can see in Waldmeister's code you have to extend the actual controller with the full extended controllers name. So to make the best of it you better use a descriptive name to identify the controllers group. This way you can add other classes in that same file if you need to.
Code:
class Group1_controller extends Controller
{
function __construct()
{
parent::Controller;
}
private function common_function()
{
return "bla";
}
}