Revision history for 3.2

Version 3.2 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.6.0.

Please note that version 3.2 of the APF requires at least PHP 5.6. This is due to usage of the PHPUnit 5.2.X.

For production use cases version >=5.5.0 is sufficient.

Since release 3.2 the APF is also available as Composer package via packagist.org/package/apf/apf and can be installed via Composer using the following entry:

Code
"require": { "apf/apf": "dev-master" }

Tags <cont:placeholder /> and <cont:template /> deliver an elegant standard solution to display conditional content. More details can be taken from chapter Extended template functionality.

Setting and evaluating place holders has undergone an extensive performance optimization. Setting place holders (ID#287) is now 70% faster and evaluation (ID#284) has been improved by 60%.

Refactoring of the BenchmarkTimer (ID#214) speeds up performance measurement and improves application execution by 10% to 30% at average.

New method HtmlFormTag::fillModel() (ID#275) helps to process forms and provides a highly effective tool to map form content to DTOs or models. Details can be taken from chapter Usage of forms.

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

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.2 fixes the following issues contained in version 3.1:

  • ID#298: Statically activated check boxes (setting attribute checked) are reset after submission even though they have been checked.
  • ID#296: In case a corresponding PHP module has not been loaded for a certain database abstraction implementation (e.g. mysqli for MySQLiHandler) this leads to strange error message (e.g. call ti undefined function).
  • ID#295: Deleting configuration entries failes using the DbConfigurationProvider.
  • ID#286: Object cache of SessionSingleton interfers with the Singleton implementation and causes issues within an application.
  • ID#285: DefaultLinkScheme doesn't encode blanks as %20.

Details can be taken from our Issue Management Tool.

2. New Features

Release 3.2 brings all new features listed below:

  • ID#283: To ease templating tags <cont:placeholder /> and <cont:template /> deliver an elegant standard solution to display conditional content. More details can be taken from chapter Extended template functionality.
  • ID#282: Der MySQLxHandler wurde entfernt, da die mysql-PHP-Extension als veraltet markiert wurde.
  • ID#284 und ID#287: Setting and evaluating place holders has undergone an extensive performance optimization. Setting place holders (ID#287) is now 70% faster and evaluation (ID#284) has been improved by 60%.
  • ID#214: Refactoring of the BenchmarkTimer speeds up performance measurement and improves application execution by 10% to 30% at average.
  • ID#275: New method HtmlFormTag::fillModel() helps to process forms and provides a highly effective tool to map form content to DTOs or models. Details can be taken from chapter Usage of forms.
  • ID#299: Displaying simple recurring data has become even easier using the <loop:template /> tags. The template displays lists of data (associative arrays or objects) totally automatically. Details can be taken from chapter Extended template functionality.

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.