A few months ago I commented on how PHP needs an IDE and a membership provider. Well, I’m still waiting on the membership provider, but I’m happy to say that I’ve finally found an IDE that doesn’t suck, phpDesigner. phpDesigner is a complete IDE for PHP based web development. It is a pretty simple idea but this one seems to have actually pulled it off. If you’re looking for a Windows PHP IDE, this one is certainly worth a look.
This development environment isn’t perfect, that is to say it’s not Visual Studio smooth, but it is far better than anything else that I’ve tried for PHP. It has all of the basic features that I’ve been looking for in a PHP IDE that runs on Windows.
As most web developers know, CSS level 3 is in the works, and has been for quite some time now. Unfortunately it is still just a working draft and cannot be adopted in full by the standards compliant web browsers. But that doesn’t mean we can’t start benefiting from the technology today.
CSS3 offers a wide array of very important and useful features. All of which will give web developers increased productivity, better maintainability and better design practices. There are so many new features that you will have to do some serious reading to get caught up.
But I can tell you about the ones that I’ve fallen in love with and offer up some theory and advice on using them in the wild world of the web.
For the last few years I have spent more time working in the .NET framework than I do PHP. It’s not that I don’t like PHP, quite the opposite, I love PHP. However, it seems most of the work I’ve been seeing is for the .NET Framework. And there is a reason for that, .NET is more powerful in terms of pure control, the Visual Studio IDE is absolutely awesome for working with large solutions, and the .NET library provides so many powerful tools.
PHP has a lot going for it, it is powerful, scale-able, easy to work with, and free. The LAMP (Linux Apache MySQL PHP) solution is the standard on the internet. And for a good reason! It’s cheap, it’s fast, it’s memory efficient, and it is very secure (if run by a capable admin). I prefer to work on LAMP systems because I can lock it down so well with tools that are well tested and maintained, and to top it off Linux hosting is cheap!
But PHP does have some drawbacks. A large PHP project can be a nasty endeavor to catch up on. As a developer I always find it difficult coming into a PHP project and trying to figure out what is where. The conventions are simply the whims of whatever the original developer(s) were used to (sometimes none at all).
Recently I had to upgrade an install of MediaWiki from version 1.6.12 to the latest version. It was originally installed on a host that only had PHP4 and MySQL4. The 1.6.x versions of MediaWiki were the last to support PHP 4. We were moving the site to a new server with PHP5 and MySQL5 so it was time to upgrade to the latest release of MediaWiki, version 1.15.1.
I selected to use the new binary database format during install. After copying over the database and running the upgrade script I came across an interesting error:
Warning: you requested the mysql5-binary schema, but the existing database has the mysql4 schema. This upgrade script can’t convert it, so it will remain mysql4.