[eluser]Pascal Kriete[/eluser]
Exactly right. Normally object oriented programming looks like this:
Code:
// Instantiate - this is where the constructor is run
$my_object = new MyClass();
// Call a function of the object
$my_object->some_function();
When a controller is run, CodeIgniter does exactly that ... with a few twists (system/codeigniter/CodeIgniter.php line:198 if you're interested).
So as you can see, the constructor doesn't get a choice - it has to run first.