Singleton and Factory Design Patterns in PHP

Alejandro Gervasio at Dev Shed gives a nice introduction to using the singleton and factory design patterns in PHP to build forms. This 5 part series takes the reader from an introduction to PHP classes and design patterns to creating a form using a form generator class and singleton and factory design patterns.

The five parts of the series:
1. Building object-oriented forms
2. Designing an object factory
3. A rendering-capable factory class
4. Working with Singletons
5. Building a form generator class

Aspect Oriented Programming in PHP

From the “Just because you can” department:

Who says you need to be a java-head to play with the cool stuff? Some of you may have heard of an “extension” to Object Oriented design called Aspect Oriented Programming. (I seem to recall something about it in the classic text “The Pragmatic Programmer.”)

Well, it was only a matter of time, but someone built a framework for it in PHP:


This package can be used to implement aspect oriented programming (AOP) by executing the code of classes that enable orthogonal aspects at run- time. The intention is to provide a means to implement orthogonal aspects in separate classes that may be an interesting add to the application, like logging, caching, transaction control, etc., without affecting the main business logic. The package provides base classes for implementing defining point cuts where the code of an advice class is called to implement actions of the orthogonal aspects that an application may need to enable.

I only have some idea what he just said, but I’m sure that plenty of you will find this very cool! You go Dmitry!

Zend Collaboration Project

There are times when you go to conferences, and you have a great time. Then there are those other times when you decide “Hmmm…maybe next year” then kick your self when something really big is announced.

While I was lucky enough to see the announcement of OpenOffice at OSCON a few years back, this week I missed what may one day become the NextBigThing for the PHP Community from Zend.

If you haven’t yet heard of the PHP Collaboration Project, you may want to go check out Zend’s website for it. From their FAQ:
The PHP Collaboration Project is an open source initiative through which the PHP community and partners will create an industrial-grade PHP Web application development and deployment environment.

Sure, at the moment it is just an announcement. However, if anyone is going to be able to muster the open source and big-business backing to actually pull off a decent/universal programming platform for PHP it would be Zend.

Good luck guys!

October 2005 :: Using Image_Graph

Want to make cool graphs? Check out today’s presentation Using Image_Graph.

Also, be sure to check out some of the great information on the web:

  • Documentation
  • Samples graphs and code
  • Stefan Neufeind’s presentation on Image_Graph
  • Image_Graph on PEAR
  • The topic of WYSIWYG HTML Editors for Linux came up. While it isn’t WYSIWYG, bluefish came to mind. We also thought of Nvu, and it certainly looked full-featured.

    This discussion lead us into a chat on CSS and web-standards based design. The websites A List Apart (for info) and CSS Zend Garden (for inspiration) both came up. I also had to show off the Web Developer Toolbar for Firefox…a web-coder’s best tool.

    See you next month!

    KCOUG Training Day 2005

    Maggie Tompkins of the KCOUG submitted the following.

    The Kansas City Oracle Users Group (KCOUG) Training Day 2005 is fast approaching. Join 300 Oracle and technology professionals for a great day of networking and technical sessions. Please forward to colleagues who may be interested. Thank you.

    Maggie Tompkins
    Kansas City Oracle Users Group (KCOUG)

    Read on for more Detail

    From: KCOUG Administration [mailto:[email protected]]
    Sent: Monday, October 03, 2005 2:28 PM
    Subject: KCOUG Training Day 2005 presentation schedule.

    Online registration for KCOUG TRAINING DAY 2005 (with secure payment by PayPal) is now available at (left-hand KCOUG TRAINING DAY 2005 block)

    KCOUG Training Day 2005 Schedule
    NOTE: Please check for last-minute schedule changes.


    Monday, October 24th, 2005
    7:00 am – 8:30 am
    Registration and Continental Breakfast

    8:30 am – 8:45 am
    Opening Session

    8:45 am – 10:00 am
    Keynote (One session – 1 hour and 15 minutes)
    Rich Niemiec, TUSC – Exceptional Leadership; Be the Uncommon Leader!

    10:15 am – 12:15 pm
    Four Two-Hour In-Depth Technical Sessions
    #1 – Rich Niemiec, TUSC – Tuning 9i & 10g – Tuning Oracle has Radically Changed
    #2 – Paul Dorsey, Dulcian – Avoiding Landmines as you “Struts Your Stuff” through J2EE Development Using JDeveloper
    #3 – Dan Vlamis, Vlamis Software Solutions, Inc. – OracleBI and Oracle OLAP–What’s All This About?
    #4 – Shannon Mayfield, Noetix Corporation – Accelerated Reporting for Oracle Applications

    12:15 pm – 1:30 pm
    Box Lunch – Attendee Networking (1 hour and 15 minutes)

    1:30 pm – 2:30 pm
    Six One-Hour Regular Sessions
    #1 – Rich Niemiec, TUSC – Oracle Internals at the Block Level; Beginners, Go Away!
    #2 – Paul Dorsey, Dulcian – Repository-Based Application Development
    #3 – Bill Inmon, Inmon Data Systems – Managing Unstructured Data and the Bridge to the Structured World
    #4 – Dan Hotka, Independent Consultant – Tuning SQL When You Can’t Change the Code
    #5 – Matt Larson, Confio Software – Blame the DBA: How Improper Wait Event Analysis Leads to the DBA Blame Game
    #6 – David Fuston, IRUS Group – OSA, OFA, DBI, EPB, or Discoverer — Which Reporting Tool is Right For Me?

    2:45 pm – 3:45 pm
    Six One-Hour Regular Sessions
    #1 – TBD, BraveSoft Technologies – Technical Presentation (BraveSoft Technologies)
    #2 – TBD, Embarcadero Technologies – Technical Presentation (Embarcadero Technologies)
    #3 – David Welch, House of Brick – Approachable RAC
    #4 – Rizwan Jaka, Oracle Corporation – Update on new versions of Portal called Instant Portal and New Features of HTMLDB 1.6/2.0
    #5 – Virgil Flack, RingMaster Software – Maintaining Your Oracle Applications in Less Time With the Simplified ACME Approach
    #6 – Srinivas D. Talagadadeevi, Black & Veatch – Upgrades, Patches, Critical Issues and Changed Priorities: Providing Useful User Support!!

    3:45 pm – 4:15 pm
    Break – Cookies and Soft Drinks (30 minutes)

    4:15 pm – 5:15 pm
    Six One-Hour Regular Sessions
    #1 – Nick Roppolo, Core Ops, Inc. – Implementing Oracle Discoverer 10g
    #2 – Shaun O’Brien, TUSC – Web Application Development with Jdeveloper 10g, ADF and Struts
    #3 – Greg Matus, Maverick Solutions – The Leap From PL/SQL to Java: More than Just Syntax
    #4 – Prabhakar Gongloor, Oracle Corporation – Performance Diagnostics Demystified: Best Practices for Oracle Database 10g
    #5 – Paul Murray, BraveSoft Technologies – Installing Oracle 10g on a Linux Fedora Platform – How to Acquire Valuable DBA Skills at Home
    #6 – Swapan Golla, Gallup Organization – Scalable OLAP Web Applications

    5:15 pm – 5:30 pm
    Wrap-up and Door Prizes


    PHP 5 Objects, Patterns and Practice, reviewed on the dot.

    Part shameless plug, part book review notification: I just wanted to announce that my review of PHP5OPP is now available on I loved this book so much, and believe in it so completely that I wanted the review to get as much exposure as possible.

    If you have been wanting to give your programming skills an object oriented upgrade but don’t really know where to take the plunge–go check out my review of PHP 5 Objects, Patterns and Practice from Apress.

    Is PHP growing in Kansas City?

    As Dan mentioned in his meeting summary, we discussed numerous available PHP jobs during the last meeting that we knew about that had not been filled. I just added another to our Jobs and Opportunities Forum, which already has several posted.

    A quick search on found 5 or 6 jobs in just the Olathe and Overland park areas. And a search on yielded several more in KCMO and KCK. It seems that there are just as many (or more) PHP job postings as there are ASP.NET or JSP job postings.

    What do you guys think? Is this a sign that businesses in the midwest are finally embracing PHP as their preferred development language? Or am I crazy?

    Has anyone noticed an increase in PHP usage among area businesses?