Why don't you just place the specialMethod() code into initialize()?
Since thats basically what you are trying to achieve.

On Feb 16, 2:51 am, Pixelastic <[email protected]> wrote:
> Hello,
>
> I'm writing a MainComponent that will need a SecondaryComponent in
> order to correctly work.
> I want to call some of SecondaryComponent::specialMethod() in
> MainComponent::initialize(), but this method can only correctly work
> if SecondaryComponent::initialize() is itself called first.
>
> Diving into code-land, here is what I mean.
>
> class FoosController extends AppController {
>         var $components = array('MainComponent);
>
> }
>
> class MainComponent extends Object {
>         var $components = array('SecondaryComponent');
>
>         function initialize(&$controller, $options) {
>                 $this->SecondaryComponent->specialMethod();
>         }
>
> }
>
> class SecondaryComponent extends Object {
>
>         function initialize(&$controller, $options) {
>                 // Some really important stuff must go here
>         }
>
>         function specialMethod() {
>                 // This method can't work properly if the initialize() method 
> hasn't
> be fired first
>         }
>
> }
>
> I expected the stack order to call SecondaryComponent::initialize()
> then MainComponent::initialize() but it appears to call
> MainComponent::initialize() and then SecondaryComponent::initialize(),
> causing SecondaryComponent::specialMethod() to fail.
>
> I "fixed" it by manually calling $this->SecondaryComponent->initialize() in 
> MainComponent::initialize(), but I still wonder if
>
> there would be a more cakish way of doing that.
> I'm not sure if this behavior is a bug, a design decision, an
> ommission or simply a wrong approach of myself.
>
> Has anyone some insight of this ?

-- 
Our newest site for the community: CakePHP Video Tutorials 
http://tv.cakephp.org 
Check out the new CakePHP Questions site http://ask.cakephp.org and help others 
with their CakePHP related questions.


To unsubscribe from this group, send email to
[email protected] For more options, visit this group at 
http://groups.google.com/group/cake-php

Reply via email to