News

Search function online

at 2008-06-28 in Announcements by friebe

On a short note: Finally had time to set up this site's search functionality on its production server. In the top right corner, you can find the search box which will search the site for words you enter (currently, only the news section is indexed). Happy searching:-)



Exceptions in Java

at 2008-06-25 in Further reading by friebe

Found this nice article on exceptions in Java - from a historic overview of Oak, on checked and unchecked exceptions, and asynchronous exceptions it explains nicely (and with code examples) what the Java exception mechanism is about. What I like most are the best practices section, which applies not only to Java:

  • Don't Write Own Exceptions
  • Write Useful Exceptions
  • Throw exceptions early
  • Catch exceptions late
  • Document exceptions
  • Unit Test Exceptions

http://www.javaspecialists.eu/archive/Issue162.html



5.6.7-RELEASE

at 2008-06-09 in ReleasesAnnouncements by friebe

Today, the XP group released XP 5.6.7. This release is the first official one to be released with the new setup infrastructure. Besides that, it contains respect for ANSI SQL in the rdbms package, a patch to the scriptlet API to produce nicer URLs, the new memory-saving XAR file format, some minor bugfixes and a couple of new features.

To use 5.6.7:


(more)

5.6.7RC3 - Pre-release

at 2008-06-07 in ReleasesAnnouncements by friebe

Setup The third release candidate for 5.6.7 comes with the new installer and runner infrastructure (as defined in RFC #0166). Instead of downloading the files and manually setting up the include_path, it is now as easy as:


(more)

RFC #0162: HTTP Proxy

at 2008-06-01 in RFCs by friebe

Scope of Change
A functionality will be added to the peer.http.HttpConnection class to support HTTP proxies.

Rationale
Some machines in restricted networks may not access other networks directly.

Read the full RFC here



Segfaults with PHP 5.2.6?

at 2008-05-31 in Announcements by friebe

If you are getting segmentation faults with PHP 5.2.6 when using older releases of the XP framework, it may be related to PHP Bug 45038. These occur when serializing util.Date instances and are related to the PHP function date_timezone_set().

Because we changed the way the Date class works XP releases newer than December 2007 are not affected - upgrading helps (but read the changelog first!):-)



RFC #0166: XP Runners

at 2008-05-31 in RFCs by friebe

Scope of Change
This RFC defines the standards for the XP runners.

Rationale
Clarification is needed.

Read the full RFC here



5.6.7RC2 - Pre-release

at 2008-05-31 in AnnouncementsReleases by friebe

As of today, the second release candidate for 5.6.7 is available for download. It includes RFC #0163 (which makes the rdbms package use single quotes for all drivers and adds driver-independent string literals in statements passed to database connections' query(), select(), insert(), update() and delete() methods), RFC #0157 (shorter URLs for scriptlets, changed rewrite rule), some minor bugfixes and a couple of new features.

Get the release candiate!



New Process::newInstance()

at 2008-05-28 in Announcements by friebe

A new method Process::newInstance() has been added. It simplifies situations where we want to fork the same executable an existing Process instance points to, but with different arguments.

Example

<?php 
// Current
$p= new Process(Runtime::getInstance()->getExecutable()->getFilename(), $args);

// New
$p= Runtime::getInstance()->getExecutable()->newInstance($args);
?>



Compiling the XP framework

at 2008-05-22 in Experiments by friebe

Lately I was experimenting with the PHP extension bcompiler, which offers an API to write the opcodes generated from zend_compile() to files. For a general understanding of this you must know that PHP is a compiled language (but does compilation into memory and then executes that instead of compiling to disk and then running that). The compilation step is not exposed to the user in any way, and there is no defined serialization format for compiled PHP. This is where bcompiler comes in.

Note: Compiling PHP sourcecode does not improve runtime performance, it simply saves the (small) overhead generated by the compile step. My main focus in this experiment was not performance, though, but to test the ability to generate PHP bytecode, and if that would work transparently alongside PHP sourcecode.


(more)

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