Blog Post RSS ?

Blogs » PHP » Horde: first signs of a COM for PHP
 

Horde: first signs of a COM for PHP

by Harry Fuecks

From JanComments API available;

Using this API every Horde application can now add threaded discussions to any objects.

Finally! A forum engine you can integrate with your own applications. I assume “every Horde application” means code using the Horde Framework or at least adapting to it.

Think this is a first in PHP. There are projects (beginning with PHP Nuke) which pack multiple apps but in a “all or nothing” kind of form, tightly integrated across multiple layers. What seems to differentiate this approach is you have effectively stand-alone applications which you can tap into as you need from your own code (as you can with Windows Apps).

A little background (from patchy second-hand knowledge). The Horde is one of the (if not the most) mature frameworks / collection of applications written in PHP, going back more that five years I believe. If you’ve been around PHP for a while, you may recognise some of the contributors from other places like PECL and PEAR. At the same time Horde is one of the dark horses of PHP; despite the age of the project, suspect there’s not much awareness they’re doing in PHP circles aside from those that know.

Probably the most well known Horde “deliverable” is IMP, a web based email client. You’ve probably also seen Chora in action at cvs.php.net. Looking at the project list it contains pretty much every type of common web application out there.

Which is why I get excited about Jan’s annoucement – what he’s saying looks alot like Windows COM to me – a mechanism to expose APIs from their existing applications to new applications, making useful integration a possibility.

I’m not familiar with the Horde code base (for no reason other than time, have never stopped to give it a serious look) aside from Horde offshoots (if that’s fair to say?) like PEAR::Log. There does seem to be a decent respect for seperation to the point where exposing APIs in this way is possible.

Also surprised to see ASP.NET-like markup in templates although nervous when looking at the template implemenation which seems to re-parse templates on each request.

Would be interested to hear other peoples experiences with the Horde framework.

Also wonder about the concept of a Registry, from the perspective of “does this mean a centralized configuration repository?”. There’s a good point here to that effect;

Registries are property databases used by both Windows itself and applications. Each registry lives in one big file. Registries contain a mix of text and binary data that requires specialized editing tools. The one-big-file approach leads, among other things, to the notorious ‘registry creep’ phenomenon; average access time rises without bound as new entries are added. Because there is no standard API for editing the registry provided by the system, applications use ad-hoc code to edit it themselves, making it notoriously subject to corruption that can lock up the entire system.

Using the Unix file system as a database is a tactic other applications with simple database requirements might do well to emulate.

Concerns aside, its great to see a project like the Horde, with a wealth of applications, moving in this direction. Jan also made a remark about IMP and XmlHttpRequest recently. It’s early days but the words “web based” and “desktop” are dying to get out…

Share and Enjoy:
  • Digg
  • del.icio.us
  • Facebook
  • Google Bookmarks
  • Ping.fm
  • Twitthis

Related posts:

  1. 16 PHP Frameworks To Consider For Your Next Project Why spend valuable time coding everything by hand? Using a...
  2. How to Install PHP 5.3 on Windows PHP 5.3 is the most significant update since version 5.0....
  3. Introducing php-tracer-weaver php-tracer-weaver is a tool for automatically generating docblock comments, with...
  4. How to Install PHP on Windows In his final installation tutorial, Craig provides a step-by-step guide...
  5. Google Offers 3D Rendering in the Browser Google's new O3D project provides a plugin that allows developers...

This post has 11 responses so far

Sponsored Links

SitePoint Marketplace

Buy and sell Websites, templates, domain names, hosting, graphics and more.

Follow SitePoint on...