WebSmart PHP Intelligent Templates
Wouldn't it be nice to get started with PHP without having to actually learn it?
by Duncan Kenzie
Published: June 15, 2007
If you're like many RPG programmers, you've probably been looking for years for a simple means of creating Web applications. The introduction of PHP to the System i (the result of a partnership between IBM and Zend, the creators of PHP) provides you with that opportunity. PHP is a simple language to learn and to code in. Yet it's also powerful, richly expressive, and comprehensive in functionality. The core version of PHP comes with over 5,000 functions for developing Web applications with almost any feature imaginable.
You can write PHP in many different styles: procedurally, like RPG, or in object-oriented form, like Java or C++. You can also use a template-style methodology or an MVC (Model-View-Controller) design approach.
But as an RPG programmer trying to move to PHP, where do you start? This is where WebSmart PHP comes in. It provides you with the roadmap to create fully functioning PHP applications without having to learn the language first. WebSmart PHP shares much of the same IDE as WebSmart ILE, which generates ILE CGI applications for the System i. Both versions share the same philosophy: make it easy for RPG programmers to build PHP or ILE Web applications that run on the System i.
Unlike simple editors that make it convenient for you to write code by hand, WebSmart PHP is a Rapid Application Development (RAD) tool that actually writes the frameworks of your applications for you. This helps minimize one of the major hurdles RPG programmers face. It provides them with well-written PHP code based on best practices and gives them a jump-start on learning PHP. WebSmart PHP accomplishes this by using a feature called "intelligent templates." BCD's original Web development tool, WebSmart ILE, has used intelligent templates since its inception. For PHP, BCD has built over 50 new templates that produce complete working applications written in commercial-quality PHP code. You can choose either DB2 UDB templates (using the traditional System i database) or MySQL templates. IBM recently announced improved MySQL database integration, so this latter option allows you to write potentially cross-platform applications easily. It also allows you to integrate WebSmart PHP pages in any widely available open-source products that use PHP and MySQL. For example, you could potentially use WebSmart PHP to write customized extensions to SugarCRM, an open-source customer relationship management (CRM) application.
The idea of templates is not new. Most RPG programmers have been using them in one form or another for many years. For example, whenever you copy in a subfile RPG source member in SEU and change the file and field names to reference a new file, you're using a basic form of a template. You know the places in the code where you need to make changes, so you search for them and make changes accordingly. In a more sophisticated scenario, you may have formalized this approach by annotating an example subfile program with comments at the points in the code where you typically need to make changes. WebSmart PHP goes much further than this. The templates contain not only placeholders for your responses during the design process, but also logic that controls the prompts presented to you. For example, WebSmart PHP includes many templates that are Web-based equivalents of subfiles. These contain logic that causes the IDE to prompt you for everything you need to build complete working PHP programs. To design a "subfile" program, you select a template with the appropriate functionality. It controls the IDE to lead you through a relevant series of prompts related to that functionality. For example, the template informs the IDE at the appropriate time to ask you for the fields to select for the subfile list. All this takes place without your having to see or write a single line of PHP code! And the result is a complete, working PHP program. The PHP source code is directly accessible and editable from the IDE, where WebSmart's powerful code editing facilities allow you to infinitely customize the applications.
For RPG programmers, this is a great boon: You get to write PHP code without having to learn it initially. You can leverage the time savings, take advantage of having all the code in front of you, and become proficient in PHP much more quickly.
Duncan Kenzie is President and CTO of BCD Technical Support, the development and support group for WebSmart, a popular iSeries Web development tool, and Nexus, a portal product specifically designed for iSeries, i5, and AS/400 servers. Duncan has 29 years of experience on the midrange systems platform creating software for both green-screen and native Web environments.