Release notes

Version 1.2.0a

This version does not include the examples. It is meant to run on both php4 and php5.

What's new

Since phpPeanuts 1.3.beta1

Since phpPeanuts 1.2 beta 1:

Since phpPeanuts 1.2 alpha 2:

Since phpPeanuts 1.2 alpha 1:

Since phpPeanuts 1.1:

Some of these changes will require some work on existing application code to work correctly with version 1.2:

Portablility

This version is meant to run on both php4 and php5, the last with zend.ze1_compatibility_mode = On as well as Off. On php5 the code will not be free of E_STRICT notifications.

If you want your application code to be portable too it has to follow certain rules:

Like phpPeanuts portable, code that follows these rules should be able to run with equal behavior without modification on both platforms, and on php5 with both zend.ze1 compatibility settings. However, there may still be differences in areas of php where phpPeanuts does not make use of. This may require some further wrapper functions to be added.

For object oriented application frameworks like phpPeanuts php5 is a much better platform than php4. However, many people are still using php4 as their deployment platform because many website hosting accounts do not yet support php5. Therefore phpPeanuts will remain 'portable' as long as there is no insight into when common website hosting accounts will support php5.

Known bugs and limitations

  1. Column mappings may not be consequently applied. If you need to set a columnName different to the propertyName on an PropertyDescriptor, test your applications database persistence functionality thouroughly. (we don't use this feature ourselves. If someone is using it, please report on how it works and on bugs, otherwise this may never be resolved).
  2. Reference Anomalies: Before the generic workaround was applied (introduced in 1.1 beta 1, released dd 16-11-2004), use of references by phpPeanuts occasionally made uninitialized php variables or associations arbitrarily hold values that seemed to come from another variable. This rarily happened and since the generic workaround it never happend again, so we recon this issue closed. However, it is impossible to guarantee that the problem has been eliminated once and for all. Do not use phpPeanuts for mission critical applications.
  3. Though the framework has a class that is pointed to become the database abstraction layer, there is still quite some code that does not delegate to this layer, but will clearly have to delegate if phpPeanuts has to work on Oracle.
  4. Testing with php 4.4 shows phpPeanuts triggers many notifications. PhpPeanuts intensively uses variable references. Some form of reference usage triggers notifications in php 4.4 where it did not in 4.3 and 5.0. With respect to references it is like php has broken with the principle of automatic type conversion: whenever a value has to be converted to a reference automatically, notifications are triggered. As a result all conversions have to be made explicit in all phpPeanuts code. Becuase we do currently not have the time to do all the work and testing to get rid of the notifications, phpPeanuts 1.2.0 is released without further testing on php 4.4. We plan to make phpPeanuts 1.2.1 php 4.4 compliant.