Planet eZ publish
In this final part of the series, Alejandro Gervasio examines a point that he has not taking into consideration so far: that the layout of form elements plays a relevant role within the overall development process. With this in mind, he encapsulates the logic needed to generate web forms by defining a form generator class. This class will implement the form element factory along with all of the required form element classes.
He guides you through the rest of the methods not mentioned previously in the class and puts it "to the test" with a practical example. He finishes it off with the full code for the class all in one place to make grabbing and using it a simple experience...
I've advocated better web application installation for a while, but as a usability issue. Increasingly, it is also a security issue. Just another example of why I think the PEAR installer is important. (and why I hope Zend PHP Framework is released on a PEAR channel.)
It looks there is a Mambo worm out now. I read Hackers Hitting Popular Apps a couple of weeks ago and it mentioned that hackers are targeting PHP apps among other things. Dog bites man for some.
Most web app software, PHP or otherwise, hasn't exactly been known for it's great installation processes. Sure, there are a few that shine (i.e. Wordpress), but overall, it's a lot of hacking around and command-line tricks to get everything working. Maybe with the advent of the PEAR installer, things will change - it has the potential to expand to so much more than just PEAR...
I've gone back and forth on the idea of using ALL html generation functions to hammering it all out in a template like Smarty. Templates are nice, It sure is nice to use functions. I was looking at RoR and saw these HTML helper functions. I thought, hey I can write them in php. (Yeah to all you php hating ruby folks, this may be an effort in futility, but thinking how to implement some of these things in PHP helps me understand the concept, like my MVC articles).
Her examples include the creation of text fields, text areas, and opening/closing tags for a form. The two field functions also take in values and attributes to specify in the outputed HTML.
And then we've got Zend Studio, a cornerstone of "The PHP Company". After upgrading to PHP 5.1.1 and Firefox 1.5 this week, I was been shocked to discover that Zend Studio 5 and the Zend Studio Firefox Plug-In are both in a state of rectal-cranial inversion: neither Zend Studio 5 or the Firefox Plug-In are expected to support PHP 5.1.1 or Firefox 1.5 until late December/early January.
So here it is -- December. We've got a shiny new PHP 5.1.1, which as been anticipated for weeks, at least. We've also got a zippy new Firefox 1.5 release, another project whose release was fairly well telegraphed and expected for the last month.
He notes that the extension claims to work for all Firefoxes above 0.9 and the Studio software for all PHP versions above 5 - but they do neither. And, of course, when he reports these issues, what's the response? "Give us a month."
There's absolutely no excuse for this delay that can be considered acceptable for a company who claims to be "The PHP Company." Perhaps Santa will leave a clue under the tree for these guys.

In this edition, he gives an example of extending PDO to use two seperate database connections.
This extends PDO and only connects to the database when the first query is run. This way if you never use the database connection no time is wasted trying to connect.
Here is a quick example I threw together to extend PDO so you can use 2 seperate database connections.
It's a pretty simple script, and even those that haven't gotten to mess much with PDO can give it a shot. Basically, you just don't call __construct when creating things. You have to create it with another function that's more configurable...
eZ Authorize adds flexible credit card capture and authorization to eZ publish 3 e-commerce shops.
Brookins Consulting is very proud to offer the first e-commerce payment solution to designed for eZ publish 3 and Authorize.Net
