I have a "parent" component that I want to use to implement an "interface" (java style) and multple "child" components that extend the "interface". I want my controllers to instantiate a specific "child" component, but in the code I want to reference all methods through the "parent" class or "inteface"
class ParentComponent extends Object {} class TypeAComponent extends InterfaceComponent { function someMethod() { return "a";} } class TypeBComponent extends InterfaceComponent { function someMethod() { return 'b';} } class MyController extends AppController { var $components('TypeAComponent'); function example() { $result = $this->Parent->someMethod(); } } The example above works fine. But I cannot figure out how to load 'TypeAComponent' or 'TypeBComponent' dynamically. How can I set MyConfroller->components BEFORE the controller loads the components? Or how do I load additional components afterwards? I tried this in ParentComponent, but while the subclassed components constructors were called properly, the components were not "loaded" the same way (i.e. the child component's var $component array were not loaded, i.e. Session.) class ParentComponent extends Object { static function create($type) { switch ($type) { case 'TypeA': include_once(dirname(__FILE__).DS.'typeA.php'); return new TypeAComponent(); break; case 'TypeB': include_once(dirname(__FILE__).DS.'typeB.php'); return new TypeBComponent(); break; } } } --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Cake PHP" group. To post to this group, send email to cake-php@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/cake-php?hl=en -~----------~----~----~----~------~----~------~--~---