Hello, today we released SRM: Script Running Machine version 0.6.0. This release is the first public beta. The following functions are implemented in this release:
- Session management - Remote functions - Application level variables - Remote objects For a full feature list please see: http://www.vl-srm.net/newsitem.php?id=1 or the attached announcement. SRM is downloadable from http://www.vl-srm.net/download.php and _requires_ the latest CVS version of PHP. For documentation see the website. With kind regards, Derick Rethans Vulcan Group --------------------------------------------------------------------- SRM: Site Resource Manager - www.vl-srm.net ---------------------------------------------------------------------
Release: SRM 0.6.0 Spring Nights SRM as session handler This is the first implemented feature, and should be gamma quality. It works just like the 'files', 'mm' or 'pgsql' session handler. The only thing you need to do is change session.save_handler in php.ini . At this moment the location is hardcoded (a shame, but an easy fix). It defaults to 'localhost'. Calling remote functions in SRM There are two different situations that can occur here: 1. The remote function is defined in a module, written in C. For example from the standard module: get_function_list() or get_application_keys(). The module API is quite easy (easier than PHP modules), and it should therefore not be a problem to add other modules. One of the included modules is the 'auth' module, which makes it possible to authenticate users with PAM, password files, or for example a Challenge-Response protocol (this last one is finished, but it should be merged into the auth module). 2. Functions defined in PHP function libraries. PHP function libraries are loaded at startup of the daemon. The PHP scripts that are part of this library get compiled and executed. Because the compiled scripts are not destroyed after that, it is possible to call them from a client side PHP script again, without having to parse/compile them. Both types of functions are called in the same way, and are run in the SRM daemon: <?php $srm_obj = new SRM ('srm.vl-srm.net', 7777); $ret = $srm_obj->function_name($var1, $var2); ?> Application level variables Application level variables are variables stored in the SRM daemon, persistent across requests. This means that you can use these in every script, using them is very easy: <?php $obj = new SRM ('localhost', 7777); $obj->globals['var'] = $data; $data2 = $obj->globals['var']; ?> Namespaces should be implemented here, so that you can have application variables for every different application you have. Remote objects Remote objects are PHP scripts, running permanently in the SRM Daemon. We call these remote objects SRMApps, or Bananas. You can instatiate them just like a normal object, as is done in this example: <?php $srm = new SRM ('localhost', 7777); $uptime = new SRMApp ($srm, 'Uptime'); ?> You now can use the $uptime object like a normal PHP object, with the exception that it is run remotely. Roadmap: 0.6.0-beta * Beta release including features above. 0.6.1 * Get rid of the srm_dll code, and improve datatypes to reflect PHP datatypes. * Implement timed events for Bananas. * Accessing session vars from Bananas. 0.7.0 * Bananas for a session. * Protected properties and member functions in Bananas. * Make use of ADT. * Rewrite the connection handling code to have threads handling connection. 0.8.0 * All exciting ideas we might get, either by ourselves, or from you. Derick Rethans © 2000, 2001, 2002 by The Vulcan Logic Group
-- PHP Development Mailing List <http://www.php.net/> To unsubscribe, visit: http://www.php.net/unsub.php