RFCs

ChangeLog formatting

at 2013-05-15 in RFCs by friebe

Scope of Change
ChangeLog formatting will be changed to use markdown syntax, and the filename will be changed to ChangeLog.md.

Rationale
Easier viewing on GitHub.

Read the full RFC here



RFC #0238: xcc -e

at 2013-05-12 in RFCsLanguage by friebe

Scope of Change
In conjunction with xp -e and unittest -e, this RFC proposes to add xcc -e.

Rationale
Support what both of the other runners already do, evaluate sourcecode directly as the fastest way to discover "what something does".

Read the full RFC here



RFC #0250: Static import syntax change

at 2013-05-12 in LanguageRFCs by friebe

Scope of Change
The XP language's static import syntax will be changed to be consistent with static member access and use the double colon operator ::

Rationale
Consistency

Read the full RFC here



RFC #0249: Exponentiation operator (XP Language)

at 2013-05-12 in RFCsLanguage by friebe

Scope of Change
A new operator for exponentiation will be added and will replace the pow() function.

Rationale
Better transportability to any platform.

Read the full RFC here



XPI - Install XP Modules

at 2013-05-05 in ReleasesRFCs5.9-SERIES by friebe

With their release cycles separated, our contrib modules cannot be downloaded alongside the XP Framework's releases anymore. In order to work around this, we now provide the "xpi" utility.

Basic usage

  # This will search for modules
$ xpi search query

# This will show information about a module, and its releases (newest first)
$ xpi info vendor/module

# This will install the newest release of the specified module
$ xpi add vendor/module

# This will upgrade the module to the newest release
$ xpi upgrade vendor/module

# This will list installed modules
$ xpi list

Local and global modules
The "xpi" utility works on a per-directory basis: Modules installed inside directory "project-a" will only be added to that class path, and not to the global one. While this is the desired behaviour for most situations (you want to use a library such as stomp inside one project, but not all of them), some XP modules should be made available globally. An example would be the XP Compiler and language. We recommend using the ~/.xp directory for this, and adding that to your xp.ini's use directive. Global modules can then be easily installed by typing:

  $ cd ~/.xp

# First usage
$ xpi add xp-framework/xp-language

# Later on
$ xpi upgrade xp-framework/xp-language

Further reading
For a complete overview of the XPI capabilities, see RFC #0270: XPI - Install XP modules.



RFC #0208: Coding standards update: PHP 5.3 namespaces

at 2013-04-27 in 5.9-SERIESRFCs by friebe

Scope of change
The official XP Framework coding standards will be adjusted for new sourcecode using PHP 5.3 namespaces, and will include breaking changes. The old coding standards will be left untouched as to not suddenly un-comply all existing files. Affected are indentation, file header, namespace and use statements, as well as class names.

Rationale
Adjust to modern-day sourcecode and infrastructure.

Read the full RFC here - discussion welcome!



RFC #0270: XPI - Install XP modules

at 2013-04-22 in RFCs by friebe

Scope of Change
The "xpi" command currently used for upgrading the XP Runners will be dedicated to the purpose of discovering, installing, upgrading and removing XP modules.

Rationale
With the separation of contrib & framework versions introduced in RFC #210 there is no longer an easy way to fetch releases of contrib modules. Previously, the modules were released together with an XP Framework release in the same release directory and could easily be fetched from there.

Read the full RFC here.



RFC #0267: Unittest parameterization

at 2013-04-01 in UnittestsRFCs by friebe

Scope of Change
This will extend the unittest API by adding a facility for providing values to a test.

Rationale
This will make it easier to discover problems in tests written using foreach loops currently, and at the same time reduce the amount of code that needs to be written for tests with separate test methods for every value.

Read the full RFC here.



RFC #0265: Bump PHP requirement to PHP 5.3.0 minimum

at 2013-01-27 in 5.9-SERIESRFCs by friebe

Scope of Change
The minimum PHP requirement for the XP Framework master branch will be bumped from 5.2.10 (5.2.0 unofficially also worked!) to 5.3.0.

Rationale
This will enable us to work with namespaces, get_called_class(), static, and remove various PHP 5.2.x workarounds.

Read the full RFC here



RFC #0220: Modules - Classpath meta information & initializers

at 2013-01-11 in 5.9-SERIESRFCs by friebe

Scope of Change
Every class path element will be able to provide a way to provide meta information. When it does so, we will call this class path element a module. Modules are named, may have a version, are accessible by reflection, annotatable and may contain initializer blocks.

Rationale
Prerequisite for XP Framework Modularization.

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