Revision history for 3.1

Version 3.1 of the Adventure PHP Frameworks (APF) is a huge milestone in the history of the framework. The code base is released for usage with PHP >=5.5.0.

Please note that version 3.1 of the APF requires at least PHP 5.5. This is due to introduction of the ::class language feature.

Access on Request and Response has been changed to an instance-based method to ease writing of unit tests. Besides, optimizations and enhancements have been introduced in the following components/areas:

In addition the code base has been cleaned up and optimized as well as the test coverage is now on a higher level.

To ease migration to version 3.1 the APF team included migration scripts. It allows you to update your application automatically within minutes. Details can be found under Migration from 3.0 to 3.1.

The complete road map can be found within the Adventure PHP Framework Issue Management tool. Details on the tickets solved during release development can be found there.

1. Bug fixes

Release 3.1 fixes the following issues contained in version 3.0.3:

  • ID#260: ImageManager crashes with empty file name.

Details can be taken from our Issue Management Tool.

2. New Features

Release 3.1 brings all new features listed below:

  • ID#094: Integration of Google ReCAPTCHA has been updated to library version 2.
  • ID#194: Composer integration is now completed. You can now obtain and update APF via Composer.
  • ID#200: Services created with the DIServiceManager can now be configured with multiple arguments per method. Details can be taken from chapter Services.
  • ID#254: Access to the DocumentController is now available from within tags as well.
  • ID#255: Module Benutzer-Verwaltung (German only) was added a date of birth field.
  • ID#258: All tools delivered with the APF to create Links have been enhanced to support nested request parameters such as a[x]=1&a[y]=2.
  • ID#261: Access to Request and Response implementation has been switched to an instance-based approach to ease writing unit tests.
  • ID#269:: The Logger now allows to define thresholds for dedicated error scenarios. This eases analysis of certain problems in production environments. Details can be taken from Logger.
  • ID#280: The Document API has been added method getChildNodeIfExists() to ease implementation.
  • ID#281: URL parameters in action URLs of forms are now submitted in GET if the form is configured for this use case. Details can be taken from Forms.

All details can be found in our Issue Management Tool.

3. General notes

Files with names like apf-codepack-* only contain the framework libraries, files with names like apf-demopack-* the framework libraries plus a demo application and the documentation site. For beginners it is recommended to download the demo packages. Release files with a name like apf-configpack-* contain a set of example configuration files. There, you can read some more hints on the configuration of the tools and applications.

The files apf-calc-example-*, apf-vbc-example-* And apf-modules-example* contain running examples for the implementation of

  • a calculator module (apf-calc-example-*),
  • the view-based-caching concept (apf-vbc-example-*) and
  • the inclusion of dynamic modules (apf-modules-example*)

using the APF. To setup the examples, please have a look at the SETUP.TXT file if included for further instructions.

The offline documentation is delivered in three different archive types including a complete HTML page.