NOTE: While this is the first post in this weekly series, to stay in context with the weeks of the year I’ve chosen to start with week 5, which for those of us in whom use the Gregorian calendar, is the work week in which is now coming to a close.


So while there are several projects that I would like to bring to your attention, when at all possible, I am going to keep a theme attached to each week, to then wrap up with a highlight summary of those projects in which have recently updated with new releases, or have been brought to my attention and seem worth making note of but without any extended information beyond links to the projects SWiK.net entry and a short summary.

This week?

Aspect-Oriented Programming

First item on the list,

phpAspect

phpAspect is a product of last years Google Summer of Code, developed primarily by William Candillon, a name in which if my instincts are correct, you will be hearing quite a bit more from over the coming months and years. I’ve had a chance to chat with William via both email and IM and I can tell you right now, this kid ain’t no dummy. ;-)

via its SWiK.net project page, phpAspect is described as,

phpAspect is a php language extension which implements aspect-oriented programming. The phpaspect compiler weaves aspects implementing crosscutting concerns into PHP source code. The weaving process is static (before source code execution) and based on Lex & Yacc analysis. The woven PHP source code can be executed with any PHP 5 version.

What I find most interesting about this project is the effort put forth to use the right tool for the right job, using Yaxx to generate an XML parse tree of the PHP code base, weaving this together with the aspects source via XSLT, to then process the output via any PHP 5.x processing engine.

The following image highlights the process used,

Of course, for those of you aware of some of my own interests in AOP, the above image should immediately bring sense as to why I am excited to see William’s choice of technologies. In fact, I think William said it best when he made the comment,

the way I see it phpAspect should be based on aspectXML engine and phpAspect & aspect xml should be used together also for web specific crosscutting concerns

(Like I said, this kid ain’t no dummy ;)

Of course, not that I really need to point out what my reaction was to his comment, but none-the-less,

Oh, I think that would definitely be a cool thing :D

AspectXML?

Thanks for asking…

AspectXML

From the AspectXML project page on SWiK.net,

AspectXML is an Aspect-Oriented XML Weaving Engine (AXLE) written in XSLT, and accessible to applications inside of both Java and .NET.

You: That’s it?

Me: Yeah, well I was in a hurry. ;-)

None-the-less, in a nutshell, that’s exactly what AspectXML is, and as you can imagine, the thought of extending AspectXML’s reach into PHP (and beyond!) has both Russ Miles (the project’s creator) and myself (I collaborated with Russ to write the XSLT portion of the project) pretty excited.

Interested in getting involved in either of these projects? The above SWiK.net links provide extended details and links, including the Google Code project home and the mailing list on Google Groups for both.

Extended Project News/Summary

I’m actually going to come back to this post later this weekend and fill in the extended project news/summary for the various projects I have on my list to make note of, as I have several items on today’s task list that still need my attention. As such and until then…

Enjoy your collective weekends!