by Mika Tuupola (tuupola@appelsiini.net), Pierre-Alain Joye (paj@pearfr.org)

This week was quiet too, but we smelt nice activities. If any of you feel like a future doc writer, you will certainly appreciate this little PEARDoc2 references wroten by Alexander Merz.
We thank Frank M. Kromann for the publication of the PECL binaries for Windows, as well as php4/5 with near all extensions, all is available at kromann.info. Thank's to Urs Gehrig for the link (www.circle.ch).
The package of the week is the fresh Mono extension by Sterling Hughes.


Package of the week

Mono extension

Who's Sterling Hughes

Don't ask me, ask google!

What is the pros/cons of publishing your work under PEAR/PECL ?

PEAR/PECL's advantages will be different for every situation; in general, I see 2 big advantages:

  1. You want an automated package distribution and management system. Installing the mono extension without the pear installer requires a small amount of magic. Using the pear package system, it takes me only a few minutes to create new releases, and for users, its a simple:i

    $ pear install mono

    (Note: you may use PEAR's package system outside of the PEAR framework. External projects, for instance xdebug, do this.)

  2. You want to publicize your library. You not only want other developers to use your core, but you want reap the benefits of their usage: testing and debugging. There is no better place for announcing a package then PEAR/PECL, which has the weight of the PHP project behind it.
As for cons - I don't see any. Unless you want to be closed, but then, PEAR is not really the place for you.

What do you hope for the future of PEAR/PECL ?

Evangelism - making PEAR the de-facto resource. Its current framework/system is pretty robust; Stig and the team have done a great job building it, now its time to let them come.

Mono, can you describe this package and the Mono technology ?

Mono is an open source implementation of various components in the .NET framework. The Mono extension is concerned with the Common Language Runtime (CLR) portion of Mono. CLR is a common bytecode to which all .NET languages are compiled. Compilers are currently available for C#, C++, C, VB.NET, and Java.

CLR aims to commoditize the language syntax. Use different languages for different purposes. If you prefer to write web frontends in PHP, but all your backend code in C or C# - do so! Previously interfacing with such code was inefficient, and required either a protocol bridge, such as COM or DCOM, or writing an extension, often very time consuming. .NET is a functionality upgrade: everything is the under the same hood.

The mono extension allows you to access .NET assemblies (called "hosting"). It works much like the Java extension, using Mono to do the dirty work. For example, the quintessential Hello World, with a .NET twist:


<?php
$Console = new Mono('System.Console');
$Console->WriteLine('Hello World');
?>

What do you actually need from the community ?

George and I need the same thing: a billion dollars. I, however, will settle for lesser amounts, like a million or a couple hundred thousand. Just use the package! If you find bugs, or have questions drop me an email, sterling@php.net.

Thank's to Sterling Hughes for this interview. A short introduction has been publishedhere

In the press

php|architect

PEAR was shortly mentioned in February 2003 issue of php|architect in Data Fingerprinting with Hash Functions in PHP written by Leon Vismer.


If you come accross PEAR related article article feel free to send (pear-dev@lists.php.net) us the references and they will be added to the weekly news.


PEAR-DEV traffic

Oracle driver for MDB

Lukas Smith announced he committed the first working Oracle MDB driver to CVS. The driver passes all but the manager tests.

Javascript in PEAR

There was some discussion on should PEAR have JavaScript packages. Consensus was PEAR should not host standalone JavaScript applications. Packages such as HTML_TreeMenu which has optional features when JavaScript is enabled should have the JavaScripts included in their own package. In addition, some JavaScript features could be included in HTML_JavaScript.

Category for Java interfaces?

Stuart Herbert proposed a new Java category which would contain interfaces between PHP and Java. He states it would be better to contain all the interfaces in one explicit Java hierarchy than scatter them all around in PEAR hierarchy. Possible place would be a Java subcategory under RPC top-level category. This hierarchy would make it easier to add interfaces for other languages such as Python or Ruby later.

New and Proposed Packages

PECL::mono

Sterling Hughes committed his Mono extension to PECL. This extension allows PHP to access .NET assemblies via the Mono library.

Auth_Container_SOAP

Bruno Pedro proposed a new SOAP storage driver for the Auth package. At the time of writing it can allready be found from CVS.

Development

Active on CVS this week have been: Crypt_CHAP, Auth_RADIUS, Auth, Text_Statistics, HTML_Template_Flexy, Auth_HTTP, HTML_Template_Xipe, MDB, HTML_QuickForm, Tree, Mail_Mime, Search_MnogoSearch, SOAP, PECL::bcompiler, Net_Ping, DBA, Log, DB_DataObject, File_Passwd, HTML_TreeMenu, Net_Whois, DB, HTTP_Header, PECL::fribidi, PECL::mono