The Programmer's Toolbox: PHP
In our ten year history of producing web applications, we have used many programming languages: ASP Classic, PHP, Perl, Ruby, Python, and .NET. All have their strengths and weaknesses.
At a certain level, any project can be written in any language, so why choose one language over another?
When we are scoping out a new project, one of our considerations is what tools will allow us to produce the best result in the least amount of time. The finished product has to be done right, but also time is money. What we need are quality tools that get us from a to z as fast as possible.
While there are many languages that can be used to build things on the web, PHP is the language we tend to fall back on. Many programming languages are multi-purpose. They can be used for things other than web projects. For instance, desktop applications are very different beasts than websites. Some languages do both. But PHP is designed from the ground up to integrate with web servers and web technologies. Its a poor choice for anything else, but a great choice for web applications. Listed below are the advantages of utilizing PHP in web applications:
- Compatibility – PHP is a great language because it is supported on all major platforms and even some minor ones as well. We prefer to run all of our servers in a Linux environment but if we ever had to host PHP applications on Unix or Windows then it would be just as readily available. PHP is supported by virtually every hosting company on the planet. You can take it anywhere.
- Ease of Use – The PHP parsing engine is very fast and efficient gain over many other languages. Many other languages have a bloated API and often require a proprietary IDE to be efficient in the development of applications. The need to use a proprietary IDE is not developer friendly as developers tend to have a specific preference over what IDE they work in when developing in many different languages. PHP can be written by hand using nothing but a text editor. Or there are a number of IDE's that one might choose to use.
- Customizable - PHP is open source which means a programmer can customize the language and the PHP installation for their usage, if one has to. This kind of work is typically found when custom hosting automation software such as HSphere is used. Another advantage is that you can have bleeding edge updates to the language which can yield many advantages when doing heavy custom development that require the highest levels of efficiency.
- Cost Effective – Since PHP is open source this means it will always be free. In many closed source languages such as .NET and ColdFusion you have to pay to obtain the ability to use the language as well as to obtain future updates to keep the software working well. There are also many "free" extensions to PHP that save developers time.
- Extensibility - There is no question that there is more freely available frameworks and building blocks for PHP than any other language. This is hugely important for saving time and money in the development cycle. Do you need an ecommerce solution? PHP has more options than any other language. How about a Blog? There is more blogging software written in PHP than any other language. This gives us more choices for starting points than with any other language. And this saves us (and our clients) money.
- Scalability - PHP has all the built in tools to make it useful for very small, simple projects, and to scale up to large, enterprise class projects. There are a number of major league web destinations built with PHP, including Facebook, Wikipedia, and Wordpress. If it can handle the world's number one site, Facebook, we are confident it will scale to anything we need to do.
- Licensing - Projects built with open source tools typically have "open" licenses. This means it is very easy for us to "give" you the code that runs your website. Its yours to keep. Yours to do anything you want with down the road. Proprietary languages often have licensing encumbrances that limits your ownership and rights to the code that you paid for.
When you analyze all the factors for building a web application, it is easy to see why PHP is such a commonly used language, and why it is often just the right tool for the job.