Delphi for PHP Article 3: A Brief History of Time and Delphi for PHP

When I was first fiddling around with the beta test stuff for Delphi for PHP, and before I’d gotten BetaBlogger status, I’d put together a post with what history I’d been able to scrounge about D4PHP from the WayBack Machine and Google.   I’d never gotten around to posting what I’d found.  Before it disappears forever into the nether regions of my harddrive, I thought I would hit Paste and Publish. 

I think I’ve gotten most of the details correct, but there are some guesses that might be inaccurate. Also, there are loads of links because I wanted to make it VERY clear that this info was gathered from the web and I was not breaking my NDA.  That’s not a concern anymore, luckily. You might find some of the links interesting. 

 So, here’s the history of Delphi for PHP as I know it:

 The Delphi for PHP rumors started on Feb. 5 when someone noticed 1 a posting on a Borland blog explaining how to create classes in PHP 2.

TObject   05 Feb, 21:09 

Why PHP?

I just run across some PHP tutorials on the Borland web site:http://blogs.borland.com/AndreanoLanusse/archive/2007/02/02/31630.aspxI always considered PHP a competitor to Delphi. So, I am curious as to why Borland is promoting PHP?  Thanks

This core OOP concept to was already known to the many members of the PHP Classes site, however, the question remained: What was this info doing on a Borlander’s blog? For once, the news group responses were spot on.

I suspect they’ll produce a PHP product soon.” said Brian Moelk ‘Tony’ replied, “That would be sweet, if they do I hope it would be along the lines of [QStudio] from http://www.qadram.com/products.php

QaDRAM 3 seems to be the brain child of José León Serna 4 5, a resident of Spain.   I’m not certain, but it looks like QaDRAM may have started as a joint venture, as the registered name is registered to “Jose Sanchez Saez” 6, but I’ve not found a connection between any Sanchez or Saez and QaDRAM. So that part is a mystery to me. It could be a street name or have a Spanish meaning for which I am unfamiliar.

Any which way you cut it, José has been working on a Visual PHP development tool since 2001 7, when he worked on a product called Visual PHP Studio. Even at its earliest humble beginnings, with files hosted on GeoCities, Visual PHP Studio used Delphi as a model. Here is the earliest description I’ve been able to find of the product destined to become Delphi for PHP 8.

Delphi can be for Object Pascal, but for PHP. In Visual PHP, instead design windows forms, you are designing HTML pages. In those pages you place components like images, text and those components have properties, and events. There are many types of components, you can see them in the component palette grouped by category, Common, Dynamic, Data Access, Data Controls, Forms, etc. With those components you will be able to create pages that integrates HTML, PHP and JavaScript to bring your web pages to live!. Also, one of the basics of Visual PHP are the templates, you can inherit from one page to start a new page with a basic template, if you change the template, all the children will change also. And the best of all is that the IDE is open to install new components from third-parties or plug-ins to enable new features, so the posibilities are limitless. Theres a CDK (Component Development Kit) to be used in Delphi to create your own components and install them on the IDE. So what are you waiting to download this fields test version?!. As far as I know there’s no other tool that combines the component technology with the web design, JavaScript code and PHP code. Also you can use your existing PHP code by adding you files to your project and include them in the new pages. Also you can mark a component to create a PHP function that generates it’s code and you can call that function as many times you want. Please, also download the readme.doc file from the downloads section to know what works on this Field Test 1 and what are the things are going to come.

So, you can see that “Delphi for PHP” has already had a long history.  With 6+ years of development, it is not your typical PHP editor.   

Here are the earliest shots I could find of Visual PHP Studio

   

As you can see, what makes it different from other products like, perhaps Zend Studios, is that it is not just editor environment. From its earliest incarnation, it was always more than just an editor with some custom macros.   I’m not saying you can’t use Delphi for PHP purely as a code editor.  I do that now, it loads very quickly.  But it can be sooo much more.  Delphi for PHP introduces RAD development to the PHP language. 

All specialized code editors are called IDEs, even the ones that don’t have the bells and whistles expected in a Delphi product.  An IDE (pronounced I. D. E.) is an Integrated Development Environment. A superior IDE is heart and sole of the Delphi family of products. Borland coined a new term to describe the additional visual aspects of these editors: RAD (pronounced like Totally RADical, Dude!).  RAD stands for Rapid Application Development.  It was introduced to programmers on Feb 14, 1995 in the form of Borland Delphi 1.0.  It was later adopted by Microsoft Visual Basic and many other products.

If you are new to the Borland/CodeGear world, you might not even understand what a “Delphi” or “RAD” environment is.  Let’s look at it in Delphi for PHP for the answer… 

Well, first, as you can tell by its original “Visual PHP Studio” name, there is a visual design surface to the standard PHP editor program.   That means that you can build your interface/web page by dragging and dropping items from a component palette. (It’s called a palette because people used to call it “Painting” your form.)   It’s a bit like making a Visio flow chart, except that it actually does something when you are done with it.

Another added feature is the “component event model” that allows you to easily choose from a list of trigger events, such as a click or double click, and connect that event to a source code method in the text editor.  In a non-visual environment, you connect your code simply by typing or if you are lucky, by choosing from huge lists of reserved names.  But under the RAD/Delphi paradigm, you have a very short context sensitive list that is always accessible when you select that object.  Double clicking the desired event does a lot of the typing for you and you just have to provide the custom action you desire.

Here’s a shot of its QStudio incarnation: ( click image to expand )

Notice that it’s already picked up the newer Delphi 7+ style interface.  You can see other similarities if you take the QStudio screen shot tour while it is still on line at http://www.qadram.com/tour.php.  There you can see that features like code completion, parameter suggestions, and component packages were carried through as well.

Despite the similarities, some people have complained about this product being called “Delphi for PHP”.  To them, the term “Delphi” has now become synonomous with Borland’s flavor of the “Object Pascal” programming language.  They do have a point.  No-one I know of calls themself an “Object Pascal” programmer.  Even my near-decade-out-of-date resume has Delphi listed as a language, despite having ObjectPAL , a 1993 precursor to Object Pascal, also listed as a language.  And it is true that for a few releases, the Borland’s Object Pascal was officially called Delphi.  That, however, wasn’t always the case.

When Delphi 1 was released in 1995,  it was very clear that Delphi was the RAD IDE and the language was Object Pascal. So, for all of the long time Delphi developers, the “Delphi for PHP” name makes sense.  “A RAD IDE for PHP.  Cool!”, they say.  In fact, the Delphi five manual says it quite clearly:

What is Delphi?

Delphi is an object-oriented, visual programming environment for rapid application development (RAD).

Around the time of Delphi 7, someone made the choice to also call the language Delphi. All the documentation was updated to reflect that, as you can see in the Delphi 7 manual:

 “Delphi is a high-level, compiled, strongly typed language that supports structured and object-oriented design. Based on Object Pascal, its benefits include easy-to-read code, quick compilation, and the use of multiple unit files for modular programming.”

Now, however, Delphi has a more global meaning, closer to the original. Delphi has become an expanding family of products (Ruby anyone?) that have at their core, not only the RAD features described above, but also integrated database access at their core. See my post on the closing CodeRage 2007 session if you want to know more about the “Delphi Family of Products”.

OK, back to Visual PHP Studio… There were several versions released in 2001, however José soon realized that the name Visual PHP Studio was going to be a problem. There were copyright issues in the US. As CodeGear later found out, you simply can’t use the word PHP in a product name without paying suitable tribute to the folks at Zend. Even today’s Borland lawyers couldn’t win that battle, so back then, they had no choice but to change the name of the product.

 There is some evidence that the name of the product was temporarily changed to QaDRAM. There would never be a conflict with that name!  However, soon enough, QaDRAM became the name of the consulting company for which José is still the CEO.  And his PHP product became simply QStudio.  

By 2003, the company was able to expand from a one man operation to become a successfull business operation with a number of employees.  QaDRAM has released a number of Linux software packages, consulted with large and small corporations, and implemented a number of successful modules for OSCommerce.

BTW, OSCommerce 9 is a product to which José is closely tied 10.  It is an Open Source PHP commerce software package that has modules that can do everything from running the front end of a store’s website, to managing the billing process. It’s quite impressive and you should check it out if you have a aspirations of selling product on the web.  Delphi for PHP developers will become familiar with this product as many of the database examples are links to OS Commerce tables.   At least that is the case in the beta release (for which I now have an NDA exclusion so I can mention such things).  It might change in future releases.

The PHP product remained QStudio until 2006, when CodeGear approached QaDRAM for a possible partnership. QStudio had been run as a quasi-democracy where you could buy your citizenship (subscription) and that got you one vote for each decision made on the product. It’s an interesting way of running an Open Source product.  Some time I’ll need to ask José if it actually worked.

That leads us back to the newsgroup post mentioned in my first paragraph and the official announcement of the partnership:

2007/02/20 CodeGear Partnership

qadram software has partnered with CodeGear to release Delphi for PHP product…

qadram software, the development team behind VCL for PHP (formerly known as WCL), had been working on a pre-beta project called qstudio that became the foundation of Delphi for PHP. Development of Delphi for PHP is being done by CodeGear and qadram software at CodeGear headquarters in Scotts Valley, CA.

The qstudio project has been folded into Delphi for PHP and the qstudio project is being closed. WCL has become VCL for PHP. The first version is being completed by CodeGear and qadram software but will continue to be run as an open source project by qadram software, WCL’s founder and creator. The VCL for PHP open source project will be hosted at: http://sourceforge.net/projects/vcl4php .

For those who subscribed to the qstudio announcement list before the announcement, you will receive via email a special offer to purchase Delphi for PHP from CodeGear in the coming weeks. For more information about Delphi for PHP, please visit the Delphi for PHP product information page

So that’s the history as I know it.  The future?  That’s going to be written by us… 

Delphi® for PHP revolutionizes web development with a completely integrated visual Rapid Application Development (RAD) approach and framework for PHP. Delphi for PHP provides a powerful editor, debugger, visual development tools, out of the box connectivity with MySQL and InterBase®, and an integrated VCL for PHP reusable component class library. Delphi for PHP is the fast and easy way to build powerful and reliable PHP web applications.Delphi for PHP utilizes an integrated PHP 5 class library called VCL for PHP. VCL for PHP components appear on the Component Palette and include buttons, labels, check boxes, images, DHTML, menus, data access components, flash objects, and more. The VCL for PHP makes it simple for you to develop new classes, because every component is built in pure PHP. Simply place the components into forms and use them in your applications. VCL for PHP components have built-in properties, methods, and events that make web interface development a snap.

http://www.codegear.com/LinkClick.aspx?fileticket=6RjK5dhWkrM%3d&tabid=237&mid=814