What you are looking for is Plugin Managers: https://github.com/zendframework/zf2/blob/master/library/Zend/ServiceManager/AbstractPluginManager.php
It has a `autoAddInvokableClass` property... wonder what that does? ;) Marco Pivetta http://twitter.com/Ocramius http://ocramius.github.com/ On 29 January 2013 21:20, Saeven <sae...@saeven.net> wrote: > Hi Everyone. > > First, thanks for your help. > > I have a ZF2 build that uses Gearman, all Gearman functions exist in a > custom namespace whose classes extend a custom GearmanService parent class > (that implements ServiceLocatorAwareInterface). It's a set up I am happy > with, I can just drop a class that extends GearmanService and it is > automatically registered by a CLI route that loads in all the functions > into > workers. (ZF2 was a treat to work with in setting this up) > > During the worker load-in, it pretty much does a: > > $w = new \GearmanWorker(); > $array_of_strings = GearmanService::getClassNames(); > foreach( $array_of_strings as $s ) > { > $n = $this->getServiceLocator()->get( $s ); > $n->registerWithWorker( $w ); > } > > > GearmanService::getClassNames() recursively iterates through all files in > the folder associated to the namespace and returns them as an array. That > works well. The PITA is loading in the same class names into the > invokables > section of the service_manager part of the config. > > It'd be nicer if there were some sentient factory available that could just > recognize the "get" as an instance of GearmanService and return the right > object. This possible? > > Thanks for your help > > > > > > -- > View this message in context: > http://zend-framework-community.634137.n4.nabble.com/Service-Manager-Factory-to-replace-all-these-invokables-tp4658880.html > Sent from the Zend Framework mailing list archive at Nabble.com. > > -- > List: fw-general@lists.zend.com > Info: http://framework.zend.com/archives > Unsubscribe: fw-general-unsubscr...@lists.zend.com > > >