Feature #3740

Implement a Static Object Container

Added by Karsten Dambekalns about 6 years ago. Updated almost 5 years ago.

Status:Resolved Start date:2010-01-28
Priority:Must have Due date:
Assigned To:Robert Lemke % Done:

100%

Category:Object
Target version:TYPO3 Flow Base Distribution - 1.0 alpha 8 Estimated time:52.00 hours
PHP Version: Complexity:
Has patch:

Description

As work on #3583 showed, object creation takes a lot more time than desired. Especially autowiring is a good target for further work.

What would mostly solve the speed issues would be a static object container, i.e. automatically generated PHP code which contains all the wiring – hardcoded.


Related issues

related to TYPO3.Flow - Task #3583: Profiling of persistence framework / CR Closed 2009-06-05

Associated revisions

Revision cfee0bf0
Added by Robert Lemke over 5 years ago

[+FEATURE] FLOW3 (Object): Implemented a static object container which is automatically built. It's essentially a hardcoded version of the autowired and configured object dependencies - just a lot faster. Many tests are still missing, but the version in this commit should be mostly functional. Addresses #3740 and resolves #2123.
[!!!][~API] FLOW3 (Object): Heavily refactored the Object Manager and its tests. The most important change is the removal of the Object Factory whose create() method is now located in the Object Manager. Furthermore, the getObject() method has been renamed to get() and a few minor important API functions within the Object Manager have been modified. This commit also contains a script which allows for semi automatically migrating existing code to the new API (see ./flow3 migrate objectmanagerusage). Resolves #6562
[~TASK] FLOW3 (Configuration): The Configuration Manager and its YAML source now doesn't depend on the YAML package anymore but refers to a YAML parser class within the FLOW3 package. Resolves #6564.

History

#1 Updated by Robert Lemke about 6 years ago

  • Target version deleted (283)

#2 Updated by Robert Lemke over 5 years ago

  • Status changed from New to Accepted
  • Target version set to 1.0 alpha 8

#3 Updated by Robert Lemke over 5 years ago

  • Subject changed from Optimize object creation (autowiring) to Implement a Static Object Container

#4 Updated by Robert Lemke over 5 years ago

  • Tracker changed from Task to Feature

#5 Updated by Robert Lemke over 5 years ago

  • Status changed from Accepted to Resolved
  • % Done changed from 0 to 100
  • Estimated time set to 52.00

#6 Updated by Robert Lemke over 5 years ago

  • Start date changed from 2009-06-24 to 2010-01-28

Also available in: Atom PDF