Tuesday, August 17. 2010
During the past week, I've been looking at different strategies for autoloading in Zend Framework. I've suspected for some time that our class loading strategy might be one source of performance degradation, and wanted to research some different approaches, and compare performance.
In this post, I'll outline the approaches I've tried, the benchmarking stategy I applied, and the results of benchmarking each approach.
Continue reading "Autoloading Benchmarks"
Monday, August 16. 2010
I'm currently doing research and prototyping for autoloading alternatives in
Zend Framework 2.0. One approach
I'm looking at involves creating explicit class/file maps; these tend to be
much faster than using the include_path, but do require some
additional setup.
My algorithm for generating the maps was absurdly simple:
- Scan the filesystem for PHP files
- If the file does not contain an interface, class, or abstract class,
skip it.
- If it does, get its declared namespace and classname
The question was what implementation approach to use.
I'm well aware of RecursiveDirectoryIterator, and planned to
use that. However, I also had heard of FilterIterator, and
wondered if I could tie that in somehow. In the end, I could, but the
solution was non-obvious.
Continue reading "Applying FilterIterator to Directory Iteration"
Monday, August 9. 2010
Because we're in full throes of Zend
Framework 2.0 development, I find myself with a variety of PHP
binaries floating around my system from both the PHP 5.2 and 5.3 release
series. We're at a point now where I'm wanting to test migrating
applications from ZF 1.X to 2.0 to se see what works and what doesn't. But
that means I need more than one PHP binary enabled on my server...
I use Zend Server on my
development box; it's easy to install, and uses my native Ubuntu update
manager to get updates. On Ubuntu, it installs the Debian Apache2 packages,
so I get the added bonus of familiarity with the configuration structure.
I installed Zend Server some time ago, so I'm still on a PHP 5.2 mod_php
binary. I have several PHP 5.3 binaries compiled and installed locally for
running unit tests and sample scripts already -- so the question was how to
keep my 5.2 mod_php running while simultaneously allowing the ability to run
selected vhosts in 5.3?
The answer can be summed up in one acronym: FastCGI.
Continue reading "Running mod_php and FastCGI side-by-side"
Thursday, July 1. 2010
When I was at Symfony Live this
past February, I assisted Stefan Koopmanschap
in a full-day workshop on integrating Zend Framework in Symfony
applications. During that workshop, Stefan demonstrated creating Symfony
"tasks". These are classes that tie in to the Symfony command-line
tooling -- basically allowing you to tie in to the CLI tool in order to
create cronjobs, migration scripts, etc.
Of course, Zend Framework has an analogue to Symfony tasks in the Zend_Tool
component's "providers". In this post, I'll demonstrate how you can create a
simple provider that will return the most recent entry from an RSS or Atom
feed.
Continue reading "Creating Zend_Tool Providers"
Friday, June 4. 2010
The past few months have kept myself and my team quite busy, as we've turned
our attentions from maintenance of the Zend Framework 1.X series to Zend
Framework 2.0. I've been fielding questions regularly about ZF2 lately, and
felt it was time to talk about the roadmap for ZF2, what we've done so far,
and how the community can help.
Continue reading "State of Zend Framework 2.0"
Thursday, May 6. 2010
I've been hearing about and reading about Gearman for a couple years now, but, due
to the nature of my work, it's
never really been something I needed to investigate; when you're writing
backend code, scalability is something you leave to the end-users, right?
Wrong! But perhaps an explanation is in order.
Continue reading "Writing Gearman Workers in PHP"
Monday, April 19. 2010
For the third year running, I'm pleased to be speaking at the Dutch PHP Conference, held again in
Amsterdam this coming 10-12 of June.

Continue reading "PHP Invades Amsterdam; or, the Dutch PHP Conference"
Wednesday, April 7. 2010
I'll be speaking this year at TEK-X,
this year's incarnation of the php|tek conference, in Chicago in May.

Continue reading "Please Join Me At TEK-X"
Tuesday, April 6. 2010
For the past month, I've been immersed in PHP 5.3 as I and my team have
started work on Zend Framework 2.0.
PHP 5.3 offers a slew of new language features, many of which were developed
to assist framework and library developers. Most of the time, these features
are straight-forward, and you can simply use them; in other cases, however,
we've run into behaviors that were unexpected. This post will detail several
of these, so you either don't run into the same issues -- or can
capitalize on some of our discoveries.
Continue reading "A Primer for PHP 5.3's New Language Features"
Wednesday, March 24. 2010
We're working on migrating Zend
Framework to Git. One issue we're
trying to deal with is enforcing that commits come from CLA signees.
One possibility presented to us was the possibility of utilizing
GPG signing of commit messages.
Unfortunately, I was able to find little to no information on the 'net about
how this might be done, so I started to experiment with some solutions.
The approach I chose utilizes git
hooks, specifically the commit-msg hook client-side,
and the pre-receive hook server-side.
Continue reading "GPG-signing Git Commits"
|
|