Release notes

Version 1.4.beta2

This version does not include the examples. It is meant to run on both php4 and php5. Click here to try it out.

This version does not include pntUnit. For security reasons the framework will no longer be shipped together with development tools like pnt/unit. Please visit the Forum if you want pntUnit to be made available as a seperate download.

What's new

Since 1.4.beta1

Since 1.3.0

Remarks for upgrading existing applications

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, 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 that phpPeanuts does not use. 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, some people are still using php4 as their deployment platform because some website hosting accounts do not yet support php5. PhpPeanuts versions 1.x will be compatible with php4. Next major version of phpPeanuts will be for php5 only.

Known bugs and limitations

  1. With php 4.4 and 5.2.0 (documentation suggests the same will happen with 5.1) phpPeanuts still triggers some notifications "Only variable references should be returned by reference": When a function that returns a PntError it is not first put into a variable. As this kind of error handling is not perfornance-critical we do not consider these notifications enough of a problem to delay this release.
  2. 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).
  3. 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 did not happen again until the changes where made to get rid of reference notifications. Do not use phpPeanuts for mission critical applications.
  4. Though the framework has DAO classes that are successfully used as the database abstraction layer with MySQL and SqLite, the use with other databases may require some additional refactoring. Please inform us about eventual problems and solutions with the use of other databases. (Known: Oracle versions below 9 do not support standard explicit JOIN syntax, but producing JOIN instuctions is not delegated to DAO objects and can not be easily refactored to do so.)
  5. produces E_STRICT notifications on php5 (see under portability).