RFCs

RFC #0210 prerequisites

at 2012-04-15 in RFCs5.9-SERIES by friebe

A while ago we blogged about the cleanup work in xp.contrib. This was now structured in three different pull requests:

Renaming
This is handled in pull request #12 and includes renaming of the ecma, xmlrpc, img, google, microsoft and cyrus packages.

Removing
This is handled in pull request #13 and includes removal of the ajp, tar and gettext packages.

IETF package split
RFC #0229 consists of two parts:

  1. Creating a new util.UUID class in the framework (see here
  2. Renaming the "ieft" package to "punycode" and removing UUID from there (see here)



Split xp.contrib's "ietf"

at 2012-04-15 in 5.9-SERIESRFCs by friebe

Scope of Change
The UUID class will be merged into XP Framework core (as util.UUID) and the ietf package will be renamed to punycode.

Rationale
The "ietf" module contains both PunyCode and UUID implementations, which are completely unrelated.

Read the full RFC here



RFC #0235: CsvMapReader / CsvMapWriter

at 2012-04-15 in RFCs by friebe

Scope of Change
Instead of working with integers describing the cell offsets in CSV files, we will add a class CsvMapReader to read data into a map, and a class CsvMapWriter to write data from a map to CSV files.

Rationale
Enable writing code to flexibly deal with changing field order.

Read the full RFC here



RFC #0237: xp -w and xp -d

at 2012-02-13 in RFCs by friebe

Scope of Change
Two new command line options will be added to the xp runner:

  1. -w - Use Console::writeLine() on the expression
  2. -d - Use var_dump() on the expression

Rationale
Users often find themselves typing xp -e 'Console::writeLine(...);'. This should be shortened.

Read the full RFC here



RFC #0210: Separate contrib & framework versions - vote please!

at 2012-02-01 in RFCs5.9-SERIES by friebe

We've worked on RFC #0210: Separate contrib and framework versions, the goal of which is to separate framework and contrib. library versions. While today, all libraries are versioned alongside the framework, e.g. xp-rt-5.8.4 and xp-contrib.stomp-5.8.4, the libraries will have separate versions in the future and instead a pointer to the framework version (range) they depend on. We've therefore gathered all the current libraries inside the xp.contrib repository and have reconstructed their changelog from SVN and Git commit history. The RFC includes these and the version numbers we can derive from that for each library.

Now while we were doing that, we also noticed quite a bunch of deprecated, badly named, unmaintained and otherwise outdated libraries. For the most obvious, we've created RFCs on how to further proceed with them. Please give your votes by adding "+1" or "-1" (and optionally, a reason) as to these proposals in the issue comments.


Thanks!



RFC #0218: Parameter annotations

at 2012-01-28 in 5.9-SERIESRFCs by friebe

Scope of Change
Annotations on method parameters will be allowed.

Rationale
Originally motivated from XP Framework's pull request #33 - Stubbles IoC container and dependency injection.

Read the full RFC here.



RFC #0231: Remove xp.contrib's "dba" module

at 2012-01-22 in 5.8-SERIES5.9-SERIESRFCs by friebe

Scope of Change
The module "dba" will be completely removed.

Rationale
The io.dba classes where deprecated in the 5.8-SERIES and moved to the ports repository (what is now "xp.contrib") for backwards compatibility on 2010-02-14, almost two years ago at the time of writing.

Read the full RFC here



RFC #0184: Drop SAPI feature alltogether

at 2012-01-21 in 5.9-SERIESRFCs by friebe

Rationale
The sapi feature was initially introduced to offer a way to extend the XP framework's core code, provided by lang.base.php, in a manner similar to that file, eg. without having to encapsulate that code in a class.

Now, we think code should always be loaded as a class, which bring several features like having an associated classloader.

Functionality
Functionality provided by one of the XP framework's sapi files will be migrated to be provided by regular classes, preferrably backwards compatible.

Read the full RFC here



PHP Namespaces and the XP Framework

at 2012-01-06 in RFCsPHP5Examples5.9-SERIES by friebe

With the implementation of RFC #0222, we have added optional PHP namespaces support to the XP Framework. Optional means the XP Framework itself will neither depend on PHP 5.3 (still supporting PHP 5.2.10 upward at least for the 5.9-SERIES) nor will it change any of its classes to use them. That doesn't mean you can't use them, though:-)

Here's a quick-start guide:

  • PHP namespaces use the backslash (\). These translate 1:1 to the package separator in the XP Framework, the dot (.).
  • Classes with PHP namespaces, fully-qualified and non-qualified XP classes may be mixed in one project. The XP group recommends migrating complete packages.
  • Inside classes using PHP namespaces, other XP classes need to be either addressed by their absolute fully-qualified names (e.g. \lang\Object) or imported via the use statement by their fully-qualified names; uses() may not be used there.
  • Inside classes not using PHP namespaces, namespaced classes must be added to the uses() list and addressed in their namespaced version.

As an example, if we have the following in de/thekid/tools/SQL.class.php:
  namespace de\thekid\tools;
use rdbms\DriverManager;

class SQL extends \lang\Object {
public
static function main(array $args) {
$conn= DriverManager::getConnection($args[0]);
// ...
}
}
To run this class, use xp de.thekid.tools.SQL ... as you would with a non-namespaced class.



RFC #0222: Optional support for PHP 5.3 namespaces

at 2011-12-23 in 5.9-SERIESPHP5RFCs by friebe

Scope of Change
Support for writing and using classes within PHP 5.3 namespaces will be added to the XP Framework's core. Because PHP namespaces are only available with PHP >= 5.3.0, support will be optional - using XP with PHP 5.2.x just will not offer the feature.

Rationale
Add benefit of using namespaces in classes. Namespaces allow reusing class names in a separate context, removing the need of class name prefixes and thus increasing overall code readability.

Read the full RFC here



Subscribe

You can subscribe to the XP framework's news by using RSS syndication.


Categories

News
General
PHP5
Announcements
RFCs
Further reading
Examples
Editorial
EASC
Experiments
Unittests
Databases
5.8-SERIES
Unicode
Language
5.9-SERIES