Archive for July, 2006

Patterns for PHP: New Online Design Pattern Resource

Patterns For PHP is a new project to write and catalogue Design Pattern descriptions and tutorials for PHP programmers. The website is intended as an (advertisement free) online resource for Design Patterns with a focus on PHP implementations.

Though the design masks it somewhat, the site is actually a MediaWiki installation. It is our intention to allow the public edit and contribute freely to its content under the GNU Free Documentation License. Contributions may include Design Pattern descriptions and tutorials, articles demonstrating their use in varying scenarios, contributions on Design Pattern and OOP principles (since these are always applicable), and whatever else a contributor believes would improve the resource.

Patterns For PHP LogoThe Administration team for this project includes myself and Ambush Commander (a regular Devnetwork Forums contributor). Other signed up early contributors include Arborint and James Santos (also from Devnetwork). For those who decide to contribute and would like to discuss general issues, offer suggestions, or just talk about their contributions – we also have public forums (or will have – announced soon when setup).

What have we accomplished so far? Since the inception of the project (all two weeks ago) we have migrated to the excellent MediaWiki application and adopted a fresh design which improves readability. We have added entries for the Singleton, Registry, Factory, Abstract Factory, Strategy and Composite patterns. In the last few days we finally moved to our permanent location on the patternsforphp.com domain.

We still have lots to do of course. We have a provisional list of some 30 Design Patterns which we intend to see covered in the medium term (contributions to these or other Design Patterns in your experience are most welcome). In addition to just cataloguing Design Patterns we will be covering the principles and best practice which underpin such patterns and their implementation in PHP.

On a final note. This is a public wiki at its simplest. We will have a public forum to discuss the projects, its contributions, its future direction and other topics of interest. The wiki can be edited by anyone with an internet connection (yes, you!). It’s ad-free and will stay that way. The content is liberally licensed (and the same open license will apply to all future content and contributions). We truly hope it grows into a worthy online reference for Design Patterns in PHP; one that will complement the existing phppatterns.com wiki.

A week without blogging…

It’s one of those weeks. You are set up to get a Patterns repository online, the first material is added, contributors trickle in, and bang – a client has an emergency. SIgh.

After a week spent stamping out wildfires It’s almost the weekend. I’ll be down south in county Wexford for most of it trying to relax and soak up some of the sunlight that has appeared in the Irish skies once again. (It’s a rare thing – sunlight in Ireland).

Next week, I will be returning my attention to the Patterns project. I have three signups, and two active contributors. Arborint, Ambush Commander, and SantosJ. If I were not too exhausted I’d dig up real names and blog links for all three – though I already link to SantosJ’s blog. It is planned to put this wiki on a proper domain by mid next week (that’s including the DNS resolution delay). The host will also change since I am moving some of my projects to a PHP5 enabled host with PostgreSQL and MySQL support. As a nice host, it also offers subversion repositories. I’ll identify them in another post when things are setup and I see what my experience with them is like.

Patterns For PHP: An update

With no less than 4 initial pattern texts drafted I have migrated the previous DocuWiki contents to MediaWiki (the application which powers Wikipedia). MediaWiki was selected because of its wider ranging wikitext syntax which allows for some very neat formatting. The only issue I had was patching one of the currently available source highlighter extensions to utilise Geshi properly with all options and style PHP code without mangling it – thankfully that’s now fixed.

As part of the migration, I grabbed a very lightweight theme and implemented my own changes to spruce it up and patch some small errors the original authors made. With some new colouring the result is a clean design with an open space feel and just a feather brush of colour. I’m still tweaking the CSS here and there, and all I can say is praise to the creators of CSS3! CSS3 allowed some quick fixes which avoided a total reworking of the previous CSS.

Patterns For PHP LogoI even got around to creating a simple logo to replace the text heading! This slew of changes makes all the difference to how the website is presented, and avoids the overly crowded "I’m an encylopedia!" feel of Wikipedia. Time to start moving to a proper domain…:-). Other changes in the future will hopefully improve the site even further. Click on the logo to visit the Patterns For PHP website at its current temporary location.

The 4 patterns now drafted (and to be expanded over time) include the Singleton, Registry, Factory and Abstract Factory patterns. Next up for addition will be the Strategy and Composite patterns. Thanks to everyone who so far has offered advice and encouragement.

Patterns for PHP: a PHP Patterns Repository

Ideas are like incendiary devices. They explode, and send people scattering for cover (or jumping up and down excitedly if they’re seriously disturbed). The recent PHP Community Book proposal had a similar effect. As a result of the idea gathering up positive support, I have accelerated my until now private plan to create an online PHP Pattern Repository.

Patterns for PHP, is currently a private wiki sitting on the quantum-star.com domain over at http://patterns.quantum-star.com. In the very near future (this week hopefully) I aim to finalise the wiki application it will use and move it to a dedicated domain.

Since I don’t do things by half measures, I locked myself into a closet with my laptop and churned out initial draft documents for the Singleton, Registry and Factory design patterns. As a result of posting about the startup over on Devnetwork I’ve also recruited an additional contributor, aborint. Aborint is a regular Devnetwork forum contributor with a lot of evident experience in Object Oriented Programming and I expect his contributions to be of immense value.

The opening of the wiki to public editing is expected to take place sometime next week, weather and recovery of folk after US Independence Day celebrations permitting. Happy celebrations to all US readers.

The revised aims of the project is to create an online repository of Design Patterns implemented specifically in PHP and to act as initial contributions to the Design Patterns section of the proposed PHP Community Book. Killing two birds with one stone is just too attractive to miss. Of course the Wiki will probably go into far more detail and remain a standalone resource. It’s intended as a small contribution back to the PHP community for all the help and resources I’ve taken advantage of since I started programming in PHP.

Until the public opening, I am accepting contributors upon request for the next week. So if interested, drop me a line.

Zend Framework 0.1.4 Preview Release!

Zend Devzone carries an article from Jayson Minard on the release of the Zend Framework 0.1.4 Preview Release.

There is still a ton of stuff on the proposal list last I checked, in addition to what’s new/changed in this Preview, and there are numerous blogs mentioning potential proposals to be added. Propose them already!