A Jakarta for PHP

Yes, Sebastian is right, it would be great to have something like Apache Maven. It was really impressive to see how useful it is for rapid prototyping in Java at a related OSCOM session some weeks ago.

But I would not say “let’s clone Maven and port it to PHP 5” – that would not take into account PEAR, especially it’s installer, which is like the little sister of Maven, seen from a conceptual perspective. Just like the PEAR installer’s online repository, the maven CLI allows to donwload Java packages from an ibiblio package repository. The definitive plus of Maven is that it is not library-centric, but application-focused: It also creates a default application directory structure and performs pre- and post-installation processes based on a plugin interface.

This is something which is missing in the PEAR installer, I would even go so far that something like the Jakarta project in total is mssing for PHP. Maybe it is now a good point to start something like this as an official PHP community effort, given the recent discussons on Enterprise PHP.

One more point about the Maven/PEAR issue: The ZZ/OSS Installer tries to overcome the deficiencies of the PEAR Installer when it comes to applications. Unfortunately, the interest has yet been low and the main problem I see is that PHP developers don’t want to drop the benefits of a scripting language (edit the script -> execute it in the browser -> fix bugs) in favour of a more flexible application design which has a source2built tree installation process. In fact, it seems like a trade-off: either you have a rather monolithic application that allows for quick fixes or your application is modeled with packages that need to be edited in the source and installed to the built tree (as PEAR does). Due to these problems, simply porting Maven would not help PHP application developers – it would need some more thought and education on the source/built tree issue.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s