Release notes

Version 1.5.0a

This version does not include the examples. It is meant to run on both php4 and php5. If you retieved this page from a http server that supports PHP, Click here to try it out.

This version does not include pntUnit.

What's new

Since 1.5.0

- removed global $cfgCommonClassDirs from classes/pnt/generalfunctions.php because it is not safe with register_globals ON

Since 1.4.0

Remarks for upgrading existing applications

From 1.5.0: replace classes/pnt/generalfunctions.php
From 1.4.0:

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. PntAssert however is no longer compatible with php4.

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. 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.
  3. 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.)
  4. produces E_STRICT notifications on php5 (see under portability).