Coldfusion vs. PHP

Posted on 2006-07-21
Last Modified: 2013-12-20
This is a question that has been raised in this forum before, but the postings were in 2003. Both worlds of CF and PHP have changed since then. So here goes ...

I'm a ColdFusion programmer who who spent the past 5 years as the sole programmer on our organization's main website.

We have hired other junior programmers for specific project-related websites. Some of them work in PHP and one of our key project sites has moved over to the LAMP platform.

The system we've created in ColdFusion MX not only runs our Website, but runs parts of our Intranet, a backend home-grown CMS, online tracking and data analysis tools, and several other applications. Plus we have a few project sites coded in CFMX. We use a lot of stored procedures in our SQL Server 2000 database and use cfloops in much of our output.

Now, there is a groundswell from the PHP programmers to move our site over to the LAMP platform as we consider revising our site and adding a true CMS. Up to this point, I've been open to potentially developing a migration path to PHP, but right now I'm under the gun to get a site facelift/revision done by the end of September 2006 AND a CMS tool in place to support some of the new features in this site facelift/revision. I've been looking at keeping things in ColdFusion/SQL Server 2000 and adding CommonSpot CMS (which I understand supports ColdFusion and PHP) with FuseTalk (for the forum/blogging elements).

However, there is still push for me to move from CFMX/SQL Server to PHP/MySQL.

I'm a CF programmer and database engineer. Apart from that, I've taken Basic and Perl (years ago), and have (of course) worked with XHTML, XML, and Javascript. I'm willing to learn PHP, but haven't been convinced that this is the way to go at this point given the potentially high cost of conversion as we will have to pay someone to convert all our site elements (one person can't do it all efficiently)  -- seems like funds for this should be used to develop content for our users, not for making a platform shift.

I may be preaching to the choir, but I would like your thoughtful input ...
Question by:LauraleeDooley
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 4

Expert Comment

ID: 17155796
Well,   I am not sure how thoughtful my input will be, but here goes.

We use a combo of CF (BlueDragon actually) and MySQL.  This is working quite well for us.  For you example I would recomend this route for you as well.  Since your app is already in CF, all you would have to update is the SQL parts.   Given the time table that you have listed, this might be the best way to meet your deadline.


Author Comment

ID: 17155860
Has MySQL support for stored procedures and does it have a good interface for writing and running on-off SQL Queries within the database? I had heard in the past that it wasn't as robust as SQL Server 2000. But that was about a year ago and I'm sure things may have changed.

Expert Comment

ID: 17156721
Yes, MySQL does now have support for stored procs.

And they have a nice free tool  Called Toad.

NFR key for Veeam Backup for Microsoft Office 365

Veeam is happy to provide a free NFR license (for 1 year, up to 10 users). This license allows for the non‑production use of Veeam Backup for Microsoft Office 365 in your home lab without any feature limitations.


Expert Comment

ID: 17156746

Expert Comment

ID: 17156765
Also,  I know its not free, but I have heard good things about this:


Accepted Solution

DeekGeek earned 500 total points
ID: 17226786
I've been using ColdFusion since about 1998, and you should probably consider me strongly biased.  Having said that...

First, remember that ColdFusion is really just the server software.  The language is ColdFusion Markup Language (CFML).  As mentioned by 73Spyder, CFML is used by software other than ColdFusion.  New Atlanta makes Blue Dragon server, which is designed to be a direct competitor to ColdFusion that will run CFML with little or no modification.

ColdFusion as a server is more robust than ever and CFML is still the easiest language for rapid application development, in my opinion.  CFML tags provide a lot of functionality, "out of the box," that PHP programmers have to either develop or include from a library or snippet collection.  ColdFusion supports tight integration with other enterprise-class components, such as Java beans for your business logic, due to its J2EE architecture.  CFML expanded to support a light form of object-oriented programming when it got ColdFusion Components (there are some limitations, such as with constructors/destructors).  ColdFusion Components can also be exposed for public consumption as web services by setting their access to "remote" - no other changes are necessary.  Prebuilt software is scarcer with ColdFusion.  There are a handful of CMS applications available, and only a couple are F/OSS.  The ColdFusion community is much smaller than with PHP, though in my opinion it is much friendlier.

PHP is more of a scripted language than CFML.  It is closer in usage to ASP / VBScript.  Database access is done by scripting all the code necessary to establish a connection, pass in the credentials, pass in the query, and retrieve the results.  Web services must be coded by hand or handled by an external library, if they can be done at all.  Connections to Java objects and interoperation with other business objects must be handled the same way.  On the other hand, the Internet is full to overflowing with software that runs under PHP.  You want a CMS?  Take your pick.  You'll be old and grey before you finish evaluating them all.  Code libraries?  The same way.

Probably the biggest hurdles to ColdFusion are in management perception and in obtaining capable people.  ColdFusion has a bad reputation with some people, especially if their only exposure to it was a long time ago in those wild, halcyon days of the dot-com bubble.  ColdFusion is so easy to use, it is very easy for someone to quickly become familiar with its syntax and begin to crank out web applications.  Those same applications tend to have poor designs and perform terribly when they are placed under heavy load.  It is much easier for programmers - and their managers - to blame the server software when the fault is really with the design of the application.  This brings up the second problem - it is much easier to find PHP developers than ColdFusion developers, because there are fewer barriers to entry in the ColdFusion market.  Free versions of ColdFusion are available for developers to use, but it definitely doesn't come with every copy of Linux downloaded from the Internet.

The questions to ask yourself are:
 - do I need added functionality, such as web services, Java interoperability, or multiple application servers per machine?
 - do I need a large pool of available talent?
 - do I have a management team that trusts my decision, or will I have to keep re-proving my decision to them?
 - what is our development environment like?  Do we have solid, repeatable processes in place (i.e., CMM level 2 or better) or are we building a big ball of mud every time?
 - what do I have the technical knowledge to support when the server goes belly-up?
 - what are the costs of each, both in real dollars and in labor costs and opportunity costs?
 - what does our capacity planning look like?  How much growth will we see next year?  In five years?  Will we be moving to clustered databases or other high-availability environments?

As for my department, we will be sticking with ColdFusion for at least another two years, and if we move off ColdFusion it will be to go with Java / J2EE, not PHP.

Featured Post

MIM Survival Guide for Service Desk Managers

Major incidents can send mastered service desk processes into disorder. Systems and tools produce the data needed to resolve these incidents, but your challenge is getting that information to the right people fast. Check out the Survival Guide and begin bringing order to chaos.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

When setting up new project requests for our site, one of the most powerful tools our team has available to use is Axure ( It’s a tool for creating software and web prototypes that can function and interact as if it were the a…
Meet the world's only “Transparent Cloud™” from Superb Internet Corporation. Now, you can experience firsthand a cloud platform that consistently outperforms Amazon Web Services (AWS), IBM’s Softlayer, and Microsoft’s Azure when it comes to CPU and …
The purpose of this video is to demonstrate how to properly insert a Vimeo Video into a WordPress site or Blog. This will be demonstrated using a Windows 8 PC. Go to your WordPress login page. This will look like the following:…
The purpose of this video is to demonstrate how to prevent comment spam on a WordPress Website. This will be demonstrated using a Windows 8 PC. Plugin Akismet will be used. Go to your WordPress login page. This will look like the following: myw…

751 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question