Last week, I wrote about the advantages of using PHP for Web development. In contrast to purchasing expensive, proprietary solutions, the open source nature of PHP -- as well as the open ecosystem formed around it -- has much to offer to the small and medium businesses.
However, it would be a mistake to believe that any one solution or approach to be perfect. Likewise for PHP programming, there are indeed inherent disadvantages of using it for your SMB site.
Based on my experiences in a few PHP programming projects, I highlight some of them here.
Complex project demands a certain level of experience
For all the flexibility and open nature of PHP development, have you ever tried to build an entire house by yourself? That's what PHP programming can feel like for larger projects. While easy to learn, it would be a folly to expect a novice or fresh graduate to be able to put together a complex site with any speed.
Of course, the judicious use of the existing programming frameworks and template engines will help speed things up tremendously. However, an inexperienced team will require adequate time to properly study the inherent merits of the various tools in order to select the right one for your project.
Not everything in PHP is easy to do
I know I mentioned earlier that PHP is a relatively easy programming language to learn. Today, I want to add a disclaimer that not everything in PHP is easy. You see, it is true that on one level, scripts for the majority of tasks can be quickly created. If you happen to hit the limitations of the language however, then much more complex -- and disingenuous -- methods of getting things to work will often be required. Those who have ever done Visual Basic programming would know what I mean.
Bottom line here: Plan some leeway in your development schedule should the development team hit a snag or two.
Code is available in plain sight
If you haven't realized it by now, PHP is also called a scripting language for a reason -- the codes are not compiled and are accessible as plain text files. While certainly not a problem when used internally on an Internet or intranet site for an SMB, it is trickier when trying to sell a PHP-based site as a finished product.
Thankfully, obfuscation tools do exist, which will jumble the codes into a form that is unreadable to humans, though some of the best of these tools will need to be purchased. Unavoidably, deployment complexity is increased as a result.
PHP is Web development