Dennis Pallett, PHPit: Totally PHP
As PHP developers, we all like to create our PHP scripts as fast as possible, and we try to take any shortcuts that we have. In some sense we are quite lazy, and we hate doing all the grunt work. That's why I'm going to give you five tips to really speed up your PHP development, and save some serious time. If you're an experienced PHP developer, these tips will probably seem very obvious to you, so this article is geared more towards beginners.
Tip #1 - Use a good editor or IDE
Using a good editor can really save you time. If you're still stuck on using Notepad to edit your PHP scripts, switch right now. There are plenty of free alternatives around, such as PHPEdit or EditPlus 2 (Shareware). The biggest advantage you get with a proper editor is code highlighting (automatically coloring your code). Code highlighting can help you debug your scripts, or follow code logic. Most editors support code highlighting, and if yours doesn't, then you know it's not suited for coding.
Another great advantage of using a good editor is the ability to do powerful search-and-replace operations. I know for a fact that EditPlus 2 supports regular expressions in their search-and-replace functionality, and I bet most editors do. It just makes it so much easier to replace a snippet of code. Imagine having to replace something by hand hundreds of times. Think of the time that gets wasted.
You can also use a full-blown PHP IDE (Integrated Development Environment). Unfortunately, there aren't many PHP IDE's, and most of them are quite steep in license fees. The best one on the market is Zend Studio, by Zend (the company backing PHP). An IDE can really save you time, by making the debugging process easier, and some IDE's (such as Zend Studio) also include IntelliSense, which will help you with function names and such (e.g. you start typing file_get.. IntelliSense shows a dropdown that matches what you were typing. It's brilliant).
In short, use a good PHP editor or IDE, and you'll save a massive amount of time!
Tip #2 - Use a framework or skeleton
Most of your PHP scripts will probably do many of the same tasks, such as database functionality (insert, update, select, delete), and have many of the same functions. You could re-write these functions and tasks every time you start a new project, but that seems a bit pointless. Instead, you could use an existing framework or skeleton, and base your new scripts on that.
You can either use a full-blown PHP framework, like CakePHP or the Seagull Framework, but you can also use a very simple skeleton that you create yourself. It doesn't have to be complicated at all, and can even be just one file which contains all the functions you commonly use.
If you've already written part of your new script, you've already saved time, no matter how much or little you've already written. If you use a framework, the structure of your script has also been determined already (largely), which can also save time.
In short, you should try to re-use as much code as you can, and try to create (or download) some short of skeleton or framework to really speed up development.
Tip #3 - Don't re-invent the wheel
Continuing the previous tip, something that really speeds up development is using existing solutions. I'm not talking about a skeleton or framework, but using a full-blown script, and customizing it to your needs.
If you're going to build a CMS for your website, which is actually one of the most common things PHP developers create, then you should first look at existing scripts. There are plenty of great scripts already, and many of them are completely free, often licensed under an open source license, such as the GPL license. A good example of this is WordPress. Originally, WordPress is a blogging tool, but it can easily be used as a CMS for your website, and you can even extend it using template hacks, plugins or code modifications. This will save you a significant amount of time, which means you can focus your time on other tasks.
Of course in some situations, when you have really specific needs, it won't be possibly to use an existing script, but before you start, try and find something that resembles your needs. Have a look on HotScripts and search Google. There's a big chance that it already exists.
Tip #4 - KISS (Keep It Simple Stupid)
During the development of a new script, you will probably run across many problems, and you'll have to think of a good solution. The best way is to keep the solution as simple as possible, and as soon as you notice that your code becomes 'filthy', you should consider re-doing it in another way. By filthy I mean overly complicated, and believe me, I've written plenty of filthy code myself. You get started on some solution, but along the way, you discover more problems, and instead of taking a step back and looking at what the actual problem is, you furiously code along. This might seem to save time, but in the long run you will only end up with thorny code, that is hard to understand.
The best way is to make everything as simple as possible. I keep everything as short as possible, and my if-statements and loops are never longer than 10-20 lines. If they become longer, I will first look if I can't do it simpler, and if that's not possible, I break it up in blocks, to make it easier to follow. In some cases I rewrite a particular block of code 3 or 4 times. This might seem a huge waste of time, but it will save you a huge amount of time in the long run.
So in short, try to keep everything as simple as possible. You should be able to immediately understand what's happening, without having to read a huge API guide or the comments.
Tip #5 - Document your code
Another great way to speed up development is to properly document your code, especially the complicated parts. However, you shouldn't over do it. The style of comments below is ridiculous, and completely pointless:
As you can see, the comments add no value at all. Just by quickly glancing, you can figure it everything the comments say, so the comments don't serve any purpose at all. Better would be something like this:
This is already much better, because we immediately know what the purpose is a of certain code block. From there we can then figure out how the code actually works.
Even this style of commenting isn't perfect, but there isn't a "perfect" style of commenting. Each developer has his or her own style, but make sure that other developers can read your code as well. This is especially important when you work in a team.
If you properly document your code, you will be able to understand it much easier later on, which means you won't have to spend (much) time on figuring out what the code actually does, and can immediately start writing new code. Good documentation can really save you a good deal of time.
In this article I have shown you five ways to shorten your development time and being able to release faster. I must tell though you that the above tips don't always work, but even if you only use one or two shortcuts, you've already saved precious time.
If you have any tips yourself, or would like to comment on one of the tips above, feel free to leave your comments below.