5.8-SERIESProtected member access via reflectionat 2010-04-04 in 5.8-SERIES by friebeThe next major XP Framework series, 5.8, now allows invoking protected methods reflectively: <?phpIn the 5.7-SERIES, this would raise a lang.reflect.TargetInvocationException; whereas now it prints "Invoked" to the console as expected. (more) PHP 5.3.2 supportat 2010-03-09 in 5.8-SERIES, PHP5 by friebeFollowing the PHP 5.3.2 release a couple of days ago we now officially support this new PHP version with the upcoming XP 5.7.8-RELEASE. Also tested successfully: The 5.8 development branch. RFC #0197: Type literals in tokensat 2010-02-18 in RFCs, 5.8-SERIES by friebeScope of Change A common way to denote type literals in generated sourcecode will be introduced. Rationale An example of where this is used is the type dispatching methods described in RFC #0195. Another example is generics generation, as described in RFC #0193. Read the full RFC here RFC #0193: Generics optimizationat 2010-02-18 in 5.8-SERIES, RFCs by friebeScope of Change Generics will be optimized. Rationale
Read the full RFC here RFC #0181: SystemExitat 2009-11-13 in 5.8-SERIES, RFCs by friebeScope of Change Calls to exit() will be replaced by a method that throws a lang.SystemExit exception. Rationale Be able to catch sourcecode that tries to exit. Read the full RFC here Extension methods: Swiss army knives without the anti-patternat 2009-08-29 in Experiments, 5.8-SERIES, RFCs by friebe The following calls a method called "sorted" on an instance of the lang.types.ArrayList class. The ArrayList class doesn't have such a method, and we'll thus get a nice "call to undefined method" error shortly before our program is terminated.<?php We could add this method to the class, but the next request would be to have filter(), map(), join(), collect(), partition(), and whatever else methods in this class, which would turn it into the "swiss army knife" anti-pattern. (more) 5_8 Branch createdat 2009-08-25 in Announcements, 5.8-SERIES, Releases by friebe To begin efforts on the various features to be released in the 5.8-Series, we've created a 5_8 branch. This branch will incorporate changes such as errors for malformed exceptions, the catchable exit(), typeof(), private and protected member and method access and extension methods, as well as deprecate the ref and deref functionality and serves as a showcase for the upcoming series.Main development will continue in trunk (the 5.7-series) though, features and bugfixes added there will be merged to the branch! For developers, this branch can be checked out as follows: $ cd devel/xp.public |
|