Ivo already pointed this out, but I want to point it out again: Boy Baukema writes a very nice entry regarding backwards compatibility on the ibuildings.nl corporate blog.
Backwards compatibility (BC) is a tricky thing to support, even when you strive hard to, as Boy puts it, "think hard about your API" prior to release. Somebody will always come along and point out ways it could have been done better or ways it could be improved. I've had to wrestle with these issues a ton since joining the Zend Framework team, and while it often feels like the wrong thing to do to tell somebody, "too little, too late" when they have genuinely good feedback for you, its often in the best interest of the many users already using a component.
I had the pleasure of meeting Boy last year when visiting the ibuildings.nl offices, and he's got a good head on his shoulders. He does a nice job outlining the issues and a number of approaches to BC; if you develop a project for public consumption, you should definitely head over and read what he has to say.
The Burlington PHP User Group is having another meeting tonight at 5:30pm at Brown & Jenkins Coffee Roasters. From the announcement:
Bradley Holt will be giving a presentation on developing a web application using Zend Framework. Bradley Holt is founder and web developer for Found Line, a local design and development studio which has used Zend Framework in several recent projects. He also works as a software developer for a local non-profit. Before starting Found Line he worked as computer trainer teaching a variety of subjects including Java/JSP, ASP.NET, and PHP
Visit the meeting page for details on location and RSVPs. If you're in the Burlington, VT, area, we'd love to see you there!
In an effort to debug issues on a cluster, I was trying to determine which machine on the cluster was causing the issue. My idea was that I could insert a header token identifying the server.
My first idea was to add the directive Header add X-Server-Ip "%{SERVER\_ADDR}e
in my httpd.conf
. However, due to the nature of our load
balancer, Apache was somehow resolving this to the load balancer IP address on
all machines of the cluster — which was really, really not useful.
I finally stumbled on a good solution, however: you can set environment
variables in apachectl
, and then pass them into the Apache environment using the
PassEnv
directive from mod_env
; once that's done, you can use the environment
variable anywhere.
In my apachectl
, I added the line export HOSTNAME=\
hostname``. Then, in my
httpd.conf
, I added first the line PassEnv HOSTNAME
, followed by the
directive Header add X-Server-Name "%{HOSTNAME}e"
. Voilá! I now had the
hostname in the header, which gave me the information I needed for debugging.
I've spent the last couple months gathering requirements for the Zend_Form
component, building a prototype, creating a composite proposal based on existing
proposals and my research, gathering community feedback, and, finally coding the
implementation. It's a testament to the value of Test Driven Development that I
now have 302 unit tests passing covering the codebase… all in just over a
week's time.
So, if you're interested in Zend_Form
, now is the time to start testing it. You
can grab it from subversion, where you'll find it in the incubator. You can find
preliminary documentation on
the Framework wiki.
Tags: zendframework, php, zend_form
2007 was a busy year, both personally and professionally. I won't go into the personal too much, because, well, it's personal, and some of the details are simply inappropriate for blogging material.
Here's the short version:
What follows is my month-by-month breakdown:
I ran into an issue recently in testing a site where PDO_SQLITE
was claiming
that it could not read my PDO database files. The only recent change I'd had was
that I'd installed a new version of PHP, and hence a new version of PDO_SQLITE
.
Searching the web (we're not supposed to say googling or googled anymore,
remember ;-)), I found that the issue was that the version of sqlite compiled
into my PHP install was not compatible with the version I used to create the
databases in the first place. Never mind that they're only a micro version or
two different.
So, I was left with a conundrum: I needed to create files compatible with my
PDO_SQLITE
install, but my CLI sqlite tool was incompatible. And if I used
PDO_SQLITE
to create the db file, I'd lose my data, right?
Wrong. And here's what you can do should you find yourself in the same situation sometime.
I'm pleased to announce that the Zend_View Enhanced and Zend_Layout components are now in the Zend Framework core. With these two components, you can now create some truly complex views for your application with relative ease.
The two components tackle several view related tasks:
When Chris Shifflet contacted me about his idea for the PHP Advent Calendar, I was intrigued; I've occasionally seen entries for the Perl Advent Calendar, and found them uniformly interesting. So far, I've very much enjoyed the entries this year, and have been especially thrilled to see some well-known bloggers blogging on topics we don't normally see them discuss.
Hopefully my entry strikes a chord with someone; best of the holiday seasons to all of you!
Tags: phpcommunity
I've been considering for a good six months trying to organize a PHP Users Group for the Burlington, VT, area. When we first moved to Vermont, I was surprised (and excited) by the number of PHP shops (which at the time I saw as job potential, as I was looking for work), and actually walked my resume around to a half-dozen or so. The area has a ton of PHP developers, and it only makes sense to have a UG where we can exchange tips and tricks of the trade.
Then, about six weeks ago, I mentioned this to my friend Rob. He did what I should have done all along, and googled for an existing group — and found one!
The Burlington, VT PHP Users Group has been around since November of 2005 on Google Groups, but we're having our inaugural meeting this coming Wednesday, 5 December 2007. I'll be speaking at this first meeting on Zend Framework's MVC components
If you're in the Burlington area this Wednesday, you should stop by. For more details, visit the event page, and don't forget to RSVP.
So, in addition to it being my daughter's birthday, which is exciting enough in itself, I received a package from my publisher, SitePoint, with my author copies of The PHP Anthology. Very exciting to see stuff I've written published!