On NETTUTS.com today there’s an intermediate tutorial showing you how to create a simple polling system for your site - complete with a database backend and a CSS styled results view.

Polls are nearly ubiquitous on the web today, and there are plenty of services that will provide a drop-in poll for you. But what if you want to write one yourself? This tutorial will take you through the steps to create a simple PHP-based poll, including database setup, vote processing, and displaying the poll.

They include all of the code and markup you’ll need ready for cut & paste - the SQL for the database backend (they chose SQLite), the HTML for the question and answer sides and the CSS to style them both. No javascript is needed to make the example work. There’s even some process flows to help you understand the paths the application can take.

Popular posts from PHPDeveloper.org for the past week:

Gonzalo Ayuso takes his “CouchDb as a filesystem” approach one step further (see the previous post about it here) with this new post talking about monkey patching to store files into the CouchDb server using the normal PHP file handling functions.

Since PHP5.3 a new design pattern is available for us: Monkey Patching. With this pattern we can override PHP’s core functions with a home-made functions in a different namespace (another example here). That’s means if I have fopen function in the above example, PHP uses the filesystem function “fopen” but if we set a namespace in our example, PHP will search first the function within the current namespace.

By defining the new interface inside of a namespace (with functions to override the default PHP file handlers) you can have the rest of the code call the same functions (fopen, fread, etc) but they’ll do different things. In this case it handles them as push and pull to the CouchDb instead of the normal filesystem. You can grab the source for this example here.

Kevin Schroeder has another new post to his blog today with an excerpt from his “You Want to Do WHAT with PHP?” book. This new post is a section from the fourth chapter looking at stream handling.

Communication is key to building applications now and for the future. While it is not something that I think that everyone should do, I have not seem many applications that make good use of streams in PHP. Streams can be immensely useful in the right situations, but a lot of developers are not really aware of how streams can be used. […] While I don’t think you will end up basing your application around streams it is a really good idea to know how streams work.

The sample code (and description) talk about changing the properties of a stream on the fly. He shows how, with a fgets loop checking the input, he can catch a command from the already running script and change the compression setting on the currently open stream. The compression changes the stream’s data from plain text to a binary format as handled by the streams functionality.

On the TechTatva.com site today there’s a new tutorial posted about getting the Cherokee web server set up and running PHP5 FPM. It’s a few simple steps to install and a few clicks around the GUI to get things configured.

In this “how to” we will see how to setup cherokee on Ubuntu with PHP5-FPM (FastCGI Process Manager). Although the cherokee CookBook claims that “If PHP-fpm binaries are found, those will be prioritized over the regular binaries.” it turns out that the latest stable version of cherokee in Launchpad gives errors while enabling

A few calls to “apt-get” install some packages (Cherokee and php5-fpm) and changes to the Cherokee configuration - handled through its web-based interface - are all that’s needed to add a new behavior rule to the default vServer to link to the PHP5-FPM install (as FastCGI).

According to this new post on the Zend Developer Zone, the Zend Framework has won itself a BOSSie award (from InfoWorld) in the “best open source application development software” category. Matthew Weier O’Phinney has this to say about the award:

I am one of the privileged few to have worked with Zend Framework since before the original public pre-alpha release. […] What [Mike Naberenzy] showed me at the time captured my imagination: the company with the best known name in the PHP industry was building an application framework, and the code I was seeing was simple, straight-forward PHP. It was the first time I’d seen a framework I was actually interested in using — even if it was in its early, early infancy. I knew at that moment that I wanted to be involved in the project.

He mentions some of the things that “shook up” the development world when those first versions of the Zend Framework came out - like the PHP5 requirement and the CLA you had to sign to contribute.

Other BOSSie award winners include jQuery, Apache Hadoop, Git and Go.

On the ThinkPHP blog today there’s this new post talking about open source contribution and, more specifically, making contributions to a popular PHP project - the Zend Framework.

Who hasn’t ever started writing his own Framework/CMS? It is considered best practice for learning purposes, but going through all the security stuff can be stressful and boring at the same time. That’s where most devs start to contribute to big Open Source-projects like Typo3 or the Zend Framework, because they are already experienced working with it and yet evolving another system on the market or even getting people to contribute seems like an unachievable task.

They talk about the evangelizing that all of the Zend Framework tutorial posts do to further the cause of ZF use and how they can help introduce beginners to the framework even easier than them trying to submit bugfixes right from the start. They also talk about the process of contributing back to the Zend Framework - signing a CLA, reading the standards, grabbing the code from the subversion server and checking out the bug tracker for things to get in and fix (and write unit tests for, of course).

On Developer.com today there’s a new article talking about memcache and how you can implement it in your application to provide a performance boost for applications in a distributed environment.

As distributed system is part of the Memcached definition, you can install Memcached on various servers to make a larger caching server. In this way, Memcached helps reduce database loads to a minimum, resulting in faster and more responsive Web applications

They take some time to explain what memcache is - a simple to use caching system that reduces the dependency on other data sources - and how to get it installed (via the package manager of your choice). They suggest times on when and when not to use it as well as some of the security implications you’ll need to worry about when implementing it. There’s also a bit of sample code to help you get started in your application. You’ll need the memcached extension to make it all work, though.

On the AjaxRay.com site today there’s a new tutorial for the Zend Framework users out there with a library they can use to extend Zend_Form for custom phone number fields.

When taking Phone number as user input, we can worn users about phone number format by setting a hint/description and can validate using Regular Expression. […] Now, if we try provide this feature in Zend Form, that’s possible. We can create three individual Zend_Form_Element_Text objects and join there value together to make the phone number. But, in this case, validating them together is a hassle.

Instead of separate fields, the library they create makes it simple to handle them as a whole field. It works as a helper for Zend_Form and lets you set things like the separator between the text fields, a “format” string and a validator to apply to their fields (in the example code, it’s the “digits” validator). Sample code is included to show you how it fits in your form.

During the .NET Rocks Live Weekend, Carl and Richard talk to former co-host Mark Dunn about his working in training programmers to be more productive.

Next Page »