Feature #2110

Add support for custom factories

Added by Robert Lemke over 6 years ago. Updated almost 5 years ago.

Status:Resolved Start date:2008-11-10
Priority:Should have Due date:
Assigned To:Robert Lemke % Done:

100%

Category:Object
Target version:TYPO3 Flow Base Distribution - 1.0 alpha 1
PHP Version: Complexity:
Has patch:

Description

The Object Framework should support custom factories which are used whenever a object of a certain type needs to be instantiated.

Such a factory could be defined / configured in the Objects configuration like this:

F3\FLOW3\Cache\CacheInterface
‧‧factoryClassName:‧F3\FLOW3\Cache\Factory

Now whenever a "CacheInterface" object type needs to be intantiated, the Cache Factory's create() method will be called. Of course the arguments for the create() method still have to be defined:

$myCache = $this->objectFactory->create('F3\FLOW3\Cache\CacheInterface', 'cacheId', 'F3\FLOW3\Cache\VariableCache', 'F3\FLOW3\Cache\Backend\File');

Related issues

related to TYPO3.Flow - Feature #2109: Support constructor / factory arguments in Objects inject... Resolved 2008-11-10

Associated revisions

Revision 6810cb20
Added by Robert Lemke over 6 years ago

  • FLOW3: (Cache) Introduced two new interfaces - for Cache frontends and backends
  • FLOW3: (Cache) Fixed an issue with the File Backend: initializeObject() overrode the cacheDirectory setting even if it has been set through setter injection
  • FLOW3: (Object) The property / argument type "reference" has been renamed to "object" (see also updated documentation)
  • FLOW3: (Object) The object configuration option "constructorArguments" has been renamed to "arguments"
  • FLOW3: (Object) In the code "Constructor Arguments" are now referred to simply as "Arguments"
  • FLOW3: (Object) Implemented support for custom factories. Resolves #2110
  • FLOW3: (Object) Implemented support for specifying arguments / properties for objects which are injected. Resolves #2109
  • FLOW3: (Resource) Added the file_exists() check again to the Class Loader. Ommitting the check resulted in hard-to-track error messages
  • FLOW3: (Documentation) Updated the documentation. Still missing: custom factories and syntax of feature #2109
  • FLOW3: (TestPackage) Adopted and cleaned up the Object related tests

History

#1 Updated by Robert Lemke over 6 years ago

  • Status changed from Accepted to Resolved
  • % Done changed from 0 to 100

Applied in changeset r1670.

Also available in: Atom PDF