Sometimes you just want to talk straight about all the nitty-gritty details. Here's a list of features which might help you getting a better picture if you're already in the topic.
- Object Lifecycle Management: The framework takes care of instantiation, configuration and disposal of objects.
- Loose coupling and support for framework agnostic programming. Avoids dependency on the framework
- Support configuration and replacement of components
- Components are pure PHP objects, no need to extend base classes
- Lightweight Inverse-of-Control Container with Dependency Injection support
- Context support (Production, Development, Testing and User-Defined contexts)
- Eases testing by providing mock environments and object configuration
- The most complete AOP Framework for PHP
- Weaves in advices on the fly - no compile step required
- Works with plain PHP objects - no base class needs to be extended
- It's fast!
- Flexible and mature MVC Framework
- Favors conventions but allows configuration
- Flexible Front Controller
- Cascadeable Action Controllers
- Flexible forwarding and error handling
- Extensible Request / Response mechanism with built-in support for web and command line
- Smart URLs and routing with API for extensions
- AJAX support
- Built-in security for user input
- Generic Validation Framework for all kinds of objects
- Cascadeable validation chains
- Built-in filters and validation rules
- Custom validator support
- Automatic validator resolution for domain models
- Meaningful exception and validation error handling
- Easy copying and mapping of properties between objects
- Transformation of property formats (eg. DateTime object to timestamp string) through property editors
- Validation support during the mapping process
- Easy solution for Data Binding (eg. between Domain Model and a Form Model)
- Clear separation of features and namespaces
- Easy exchange of packages through TYPO3's package repository (T3PR)
- Automatic registration of classes (components) and resources
- Command line access for effective management of package installation and upgrade
- Built-in monitoring of security alerts for installed packages
- Compressed FLOW3 packages are just plain .ZIP files
- Manages all assets and other package resource files
- Allows storage of web resources outside the public web directory
- Different backends for resource storage: File system, Database, Content Repository, ...
- Automatic separation of public and restricted media (documents, pictures, sound files ...)
- Lightweight, token-based secure download support
- Automatic caching and management of resources
- Hook-ins for indexers and other custom extensions
- Consistent exception hierarchy
- Verbose exception handler with clearly arranged background information and backtraces (including source code snippets)
- Unique error and exception codes with explanation and user comments in our wiki
- Advanced support for annotations
- Read support for protected properties
- Clear separation of security concerns trough Aspect-Oriented Programming
- Default security by convention (eg. naming of methods)
- User, group and role support
- Extensive monitoring support
- Of course configurable