Delphi for PHP: Wat Is Het en Wat Doet Het?
Tijdens de recente presentatie van CodeGear in Amstelveen werd het aanwezige publiek verrast met een preview en kleine demo van een nieuw product van CodeGear genaamd Delphi for PHP. Toen de ‘hands up’ vraag werd gesteld, bleek dat circa tweederde deel van het aanwezige publiek in meer of mindere mate werkt of heeft gewerkt met PHP. Dus voldoende reden om er wat aandacht aan te besteden. In dit artikel een korte samenvatting en beschouwing van hetgeen er getoond werd.

Wat is PHP?
PHP is een scripttaal die bedoeld is om op web servers dynamische webpagina’s te laten genereren. De taal is ontstaan in 1994 (toevallig kort voor het ontstaan van Delphi zelf) en ontworpen door Rasmus Lerdorf, een senior software engineer bij IBM. De originele versie was duidelijk gebaseerd op het toen al bestaande Perl.
De letters PHP staan voor Personal Home Page (hoewel de originele project-naam “Personal Home Page/Forms Interpreter, PHP/FI’ was). Sinds versie 3.0 is de betekenis een beetje gewijzigd: "PHP: Hypertext Preprocessor". Dit geeft al aan wat deze script-taal eigenlijk doet: informatie verwerken tot hypertext (meestal HTML en XHTML).
PHP is bijzonder populair en wordt zeer veel gebruikt voor toepassingen zoals bulletinboards/forums, CMS-en, blogs, wiki's en vele andere internettoepassingen. Inmiddels worden volgens de statistieken ruim 18 miljoen websites gehost met behulp van PHP.
De belangrijkste kenmerken van PHP als taal zijn:
- Uitgebreide functionaliteit
- Eenvoudig aan te leren
- Browseronafhankelijk
- Platformonafhankelijk (werkt op Linux, Windows, en Mac OS X)
- Draait op vrijwel alle web servers
- Ondersteunt alle ‘grote’ databases
- Vrij verkrijgbaar (het betreft een open source product).
Onderstaand voorbeeld toont de structuur van een stukje PHP-code:
require_once('DbConnect.php');
$sql = "
SELECT Titel, Auteur, Samenvatting
FROM boeken
ORDER BY Auteur ASC, Auteur ASC
";
if (!$res = mysql_query ($sql)) {
echo '
';
echo htmlentities ($sql);
trigger_error (mysql_error ());
echo '
';
}
else {
while ($row = mysql_fetch_assoc ($res)) {
echo '
';
echo '
Titel: '.$row['Titel'].'
';
echo '
Auteur: '.$row['Auteur'].'
';
echo '
Samenvatting: '.
$row['Samenvatting'].'
';
}
}
?>
Listing 1: Een stukje PHP-code
Wat heeft CodeGear te bieden?
Zoals gezegd is PHP een open source product. Oftewel iedereen kan ermee aan de haal gaan en er tot een bepaalde hoogte zijn eigen draai aan geven. Sinds versie 5 van PHP wordt ook objectoriëntatie (goed) ondersteund, en leent de taal zich dus ook uitstekend voor class- of component libraries.
Om die reden bestaat er dan ook een enorm aanbod van frameworks, classes en componenten die over het internet verspreid zijn en voor het grijpen liggen. Wat echter tot op heden ontbrak was een IDE zoals de ontwikkelaars in Delphi of Visual Studio gewend zijn, waarmee projecten of applicaties kunnen worden gemaakt, georganiseerd, en onderhouden.
Dit levert ten opzichte van de bestaande methodes van ontwikkelen van PHP-software een aantal voordelen op waar wij als Delphi- of Visual Studio-ontwikkelaars niet echt een wereld van mogelijkheden zullen zien opengaan
CodeGear heeft zijn IDE, zoals die al 12 jaar wordt gebruikt voor Delphi en die inmiddels in de 4e generatie van bestaan zit, aangepast voor gebruik met PHP. Dit levert ten opzichte van de bestaande methodes van ontwikkelen van PHP-software een aantal voordelen op waar wij als Delphi- of Visual Studio-ontwikkelaars niet echt een wereld van mogelijkheden zullen zien opengaan, maar waarmee de primaire PHP-ontwikkelaars echt blij zullen zijn.
Zo beschikt Delphi for PHP over:
- De bekende en befaamde IDE met de (two way) form designer, object inspector en data explorer;
- VCL for PHP component library. Hierin zitten circa 50 componenten waarmee snel en gestructureerd webapplicaties kunnen worden ontwikkeld. Er kunnen ook third-party of eigen componenten worden toegevoegd;
- De welbekende Delphi editor met de krachtige features als color syntax highlighting, bookmarks, en code insight;
- Geïntegreerde debugger, met de bekende breakpoints, traces en watches. Dit alleen al maakt het volgens mij de moeite meer dan waard om een PHP-project onder te brengen in de nieuwe Delphi/PHP IDE;
- De on-line help van Delphi is aangepast aan het nieuwe product, en bevat o.a. een PHP language reference. Ook worden er diverse voorbeeld programma’s meegeleverd.
Waar komt dit vandaan?
Het is niet helemaal zo dat het nieuwe product bij iemand van CodeGear als idee is geboren, en daarna ontwikkeld als product. Een Amerikaans bedrijf genaamd Qadram Software had een PHP library ontwikkeld onder de naam WCL. Op basis van deze ontwikkelingen was men daar al begonnen met de ontwikkeling van een IDE, binnen welke projecten die gebruik maakten van de WCL. moesten kunnen worden gemaakt en onderhouden. De naam van dit project is/was QStudio. Met name de verwijzing naar ‘Studio’ geeft wel aan wat voor ideëen men hierover had.

De mensen van Qadram raakten in gesprek met Borland/CodeGear, en van het een kwam het ander. Inmiddels is de WCL library omgedoopt tot VCL for PHP, en is het geheel ondergebracht in de zo bekende IDE. Het onderhoud aan het PHP-gedeelte van het product gebeurt momenteel samen door Qadram en CodeGear, terwijl CodeGear de commerciële gang van zaken beheert.
Het is overigens niet zo dat, in tegenstelling tot de bekende en gangbare dialecten die al een plek in dezelfde IDE gevonden hebben (Delphi, C#, en C++), Delphi for PHP onderdeel uitmaakt of zal uitmaken van Borland Developer Studio zoals die momenteel geleverd wordt. Er is ook geen sprake van verschillende gradaties (versies) binnen het product, oftewel geen aparte Professional of Enterprise versie.
Het is niet zo dat Delphi for PHP onderdeel uitmaakt of zal uitmaken van Borland Developer Studio
Kans of opwelling?
CodeGear, toen nog Borland (of Inprise?) geheten, heeft zich wel vaker onderscheiden van haar concurrenten door een product in korte tijd op de markt te brengen zonder dat vooraf vast stond dat er een markt op het product zat te wachten. Kylix is hier wat mij betreft het beste voorbeeld van. Een fantastisch product, in korte tijd gemaakt om te voorzien in een behoefte die gebaseerd was op de hype die Linux een aantal jaren geleden veroorzaakte. En aangezien die hype zich uiteindelijk niet heeft doorgezet naar een massale omschakeling van gebruikers, zowel zakelijk als thuis, naar de Linux-desktop, betekent dit dat de enorme krachtsinspanning die Borland ten aanzien van dit product heeft geleverd jammer genoeg verloren tijd en moeite is geweest.
Wat dat betreft zijn er geen redenen om aan het bestaansrecht of de kans op succes te twijfelen.
De vraag is of Delphi for PHP in dat opzicht meer een schot in de roos zal blijken te zijn. Wie het weet mag het zeggen. Feit is dat er wel degelijk enorme aantallen websites zijn die draaien op PHP. En dat een belangrijk deel van die web-applicaties eigendom zijn van of ondersteund worden door bedrijven, die er uiteindelijk een zakelijk doel mee voor ogen hebben. Waarmee dus een investering in fatsoenlijk gereedschap gerechtvaardigd is. Gezien de kostprijs waarvoor CodeGear het product in de markt zet (ca $300) is de drempel erg laag, en zijn de aantoonbare voordelen erg groot. Wat dat betreft zijn er geen redenen om aan het bestaansrecht of de kans op succes te twijfelen. Het staat in ieder geval op mijn eigen wish-list, en ik zal vermoedelijk niet de enige zijn.
Conclusie
Delphi for PHP een doorslaand succes? De tijd zal het leren. Gevoelsmatig ben ik enthousiast, maar ik ben dan ook een Delphi-adept. Het is zeker zo dat er voldoende ontwikkelaars zijn die zich met PHP bezighouden, en als deze IDE zijn zaakjes net zo goed regelt als voor de ‘gewone’ Delphi het geval is, dan zal er zeker een trouwe schare gebruikers kunnen ontstaan.