On the Ibuildings blog today Barney Hanlon takes a look at 2010 and some of the major happenings in the world of PHP.Every year, for the past three years, Ibuildings has written a retrospective of the past twelve months in PHP. Looking back at last year's post, it amazes me how quickly what we were talking about is now passe. Was it only 2009 that Twitter became mainstream? Though not a heavy contributor to the 140-character medium, I find it one of the best ways to keep track of what's going on in the...
On the main PHP site there's a new announcement about a critical update in a new version to both the PHP 5.2.x and 5.3.x series of releases to correct a problem that could cause a hang or crash from user input - 5.3.5 and 5.2.17.The PHP development team would like to announce the immediate availability of PHP 5.3.5 and 5.2.17. This release resolves a critical issue, reported as PHP bug #53632 and CVE-2010-4645, where conversions from string to double might cause the PHP interpreter to hang on systems...
Popular posts from PHPDeveloper.org for the past week:SaniSoft Blog: Introduction to creating desktop applications with PHP and Titanium
Job Posting: Moontoast Seeks Senior PHP Engineer (Nashville, TN)
Chris Hartjes' Blog: Twitter Asks: Continuous Integration Landscape for PHP Developers
Gonzalo Ayuso's Blog: My VIM configuration for PHP development
Chris Roane's Blog: PHP Programming With Leadership
PHPBuilder.com: Profiling PHP Code with Xdebug and KCacheGrind
NetTuts.com: Quick Tip: Email Error Logs...
For some time now I've been working on a partnership, and it is with great pride and happiness that I can now officially announce it: My company Ingewikkeld is now an official Sensio trainingpartner for Benelux and Germany. This means that as of January 1st, I am now able to officially offer all Sensio courses in these countries.
If you love vim and you use Firefox for development, check out this awesome Pentadactyl addon. It makes your Firefox act and behave like vim, including almost all options at :, search by using /, common vim commands like j, k, etc. So sweet!
In light of the
recent remote PHP exploit, I decided to
update a couple servers I manage to ensure they weren't vulnerable. In each
case, I had been using hand-compiled PHP builds, but decided that I'm simply too
busy lately to be trying to maintain updates -- so I decided to install
Zend Server. I've been using Zend
Server CE on my laptop since before even any initial private betas, and have
been pretty happy with it -- I only compile now when I need to test specific PHP
One thing I've...
The PHP development team would like to announce the immediate
availability of PHP 5.3.5 and 5.2.17.
This release resolves a critical issue, reported as PHP bug #53632,
where conversions from string to double might cause the PHP interpreter
to hang on systems using x87 FPU registers.
The problem is known to only affect x86 32-bit PHP processes, regardless
of whether the system hosting PHP is 32-bit or 64-bit. You can test
whether your system is affected by running this script
Tony Lukasavage has a new post to his blog about debugging your PHP applications with IntelliJ and XDebug on a WAMP install.If you are a serious PHP developer and have not given debugging a fair chance, or a chance at all, you are killing yourself. So let's do this thing from the ground up. WAMP, XDebug, IntelliJ, and magic. Follow these steps (for Windows) to reach my recent state of elightenment and PHP debugging bliss.It's a sixteen step process, but don't let that scare you off - it's made up of lots...
This session introduced one of the less-known design patterns in the PHP world, but also one that can greatly improve the decoupling and the testability of your code: Dependency Injection. I will demonstrate how to use Dependency Injection in your projects, and I will take advantage of the PHP 5.3 new features to create a fully-featured DI container live.
Damian Sromek has a helpful unit testing hint for those working with database-heavy tests - less about code, more about server setup.PHPUnit tests that are heavily using the database can run like 10x faster when you run the database from the RAMDisk. It's the easiest way I know to improve the speed of the tests execution.Because of the slowness that could be caused by running unit tests that rely heavily on the database, he suggests setting up a testing instance on a RAMDisk (or something similar). The...
A great visual explanation of SQL joins on Coding Horror, a rewrite of Lig's awesome post: a€oGettinga€¯ Joins
Before you think about sending an email a€ohey, can you optimize my querya€¯, please read this article and make sure you're using your joins as expected.
Also, yay Venn diagrams!
On the SitePoint PHP blog today Craig Buckler is back with the second part of their series on creating a Twitter widget for your site. You can find more about the first part of the series here.In Part 1 of this series, we examined the Twitter API, creating a PHP TwitterStatus class, and imported the latest tweets in JSON format. Today, we'll populate the data into HTML templates - download the full source code here.The templates are strings of HTML with tags for where the content belongs - in this case...
On PHPEverywhere John Lim has posted some of his experiences in his migration up from PHP 5.2 to version 5.3 for his site, including code issues and how he upgraded.Now that PHP 5.2 is at the end of life, we are starting to migrate to PHP 5.3.Things he mentions are:
The deprecation of session_register
The change of creating a new object by reference
Other deprecated functions listed here
His commands to upgrade his Zend Server instance from 5.2 to 5.3
In part 1 of this series, we examined the Twitter API, created a PHP TwitterStatus class, and imported the latest tweets in JSON format. In Part 2, we parsed the Twitter data, replaced links, and generated the complete html for our widget. In this last post, we'll cache our widget and translate tweet dates into a friendlier format - download the full source code here.
The case for caching
Currently, our TwitterStatus class will fetch the most recent tweets every time we call the Render() method....
In 2010, operations became an even more central part of my life. As I write this blog post (in early January, 2011), we have been running on Amazon AWS - and EC2 in particular - for over a year.
Previously we had used a service called RightScale but in Q3 of 2010, we moved on/away from RightScale and started using chef and a service called Scalarium.Because Opscode's chef became such a big part of my work life, I gave a talk about chef, and chef-solo in particular, at last December's PHP Usergroup...
Lorna Mitchell has a tip for those using the Google Charts API to plot the data from their applications - a simple way to add multiple axis labels to the chart's output.The axes in Google Charts are a bit interesting, because what they display bears absolutely no resemblance to what data is there - you label the axes separately, even if they are numbers. To label multiple things - in this example a scale and some units, you simply specify the axis more than once.In her example it creates a bar graph that...
Way back on 12-30-2010 (if you kiddies can remember that far back) a serious problem was found and reported in all versions of PHP . The fix is now available and ready for deployment. Click on in, I've got the URL s around here somewhere.
Christoph Dorn has a new post today showing how to get the FirePHP tool to work together with Zend Server on an AWS instance to help make your debugging even simpler.FirePHP can nicely complement the built-in tools available when using Zend Server and can be easily made available to all provisioned sites. This tutorial illustrates how to setup FirePHP 1.0 for all virtual hosts on a Zend Server AMI on Amazon EC2.He steps you through the process of getting FirePHP installed and working in your browser as...
Kevin Schroeder has posted a podcast from last year's Zend/PHP Conference (2010) - Fabien Potencier's session covering dependency injection.This session introduced one of the less-known design patterns in the PHP world, but also one that can greatly improve the decoupling and the testability of your code: Dependency Injection. I will demonstrate how to use Dependency Injection in your projects, and I will take advantage of the PHP 5.3 new features to create a fully-featured DI container live.Included in...
As reported by both The Register and Zend, there's a new remote exploit bug that possibly has something to do with the way 32-bit processors handle floating point numbers.From Zend:Due to the way the PHP runtime handles internal conversion of floating point numbers, it is possible for a remote attacker to bring down a web application simply by adding a specific parameter to a query string in their web browser.The bug, found here on bugs.php.net, has been reproduced on Windows and 32-bit linux systems and...
Latest PHP Tweets