Top 10 Reasons to Choose PHP for IBM i Development Read this eBook to learn why PHP is a great application modernization choice for IBM i shops Table of Contents

Executive Summary. 0 3 What Is PHP? . 0 4 1. Popularity . 06 2. Open Source, Low Cost. 08 3. PHP Is Easy for IBM i to Learn . 09 4. Use Existing Staff and Attract New Talent. 1 3 5. Leverage RPG, DB2 and IBM i Features. 1 4 6. IBM i, PHP and Mobile Devices. 17 7. Powerful Language Features. 19 8. Available Ecosystem of Tools. 2 2 9. and Web Services. 2 4 10. PHP Is Supported by IBM, and BCD. 2 6 Why WebSmart PHP?. 2 7 Why Zend ?. 3 0 About the Author. 3 1

CREATED BY THE FOLLOWING BCD AND QUADRANT SOFTWARE EMPLOYEES:

Writer: Duncan Kenzie, Chief Editor: Candice Schultz, Brand Manager Knowledge Officer Designer: Menno van Mil, Design Manager

TOP 10 REASONS TO CHOOSE PHP FOR IBM i WEB APPLICATION DEVELOPMENT 02 Executive Summary

The need for IBM i modernization grows more imperative each year as organizations face increased costs for maintaining legacy applications, training end users and hiring from a shrinking pool of RPG programmers.

When deciding on your modernization strategy, it’s important to choose technologies and tools that are easy for RPG programmers to learn. They should also grow with technologies like mobile and whatever else the future holds.

PHP, one of the world’s most popular web development languages, gives you all of this and more. It’s also open source and supported by IBM and Zend, which enables you to leverage your IBM i and proven RPG code.

This eBook is written for people who are considering PHP and web development in general and have experience with IBM i or programming in business languages such as RPG or COBOL. It outlines the top 10 reasons why you should choose PHP for your next IBM i web development project.

TOP 10 REASONS TO CHOOSE PHP FOR IBM i WEB APPLICATION DEVELOPMENT 03 What Is PHP?

PHP is a language that was created specifically to deliver dynamic web pages and interact with web servers. Initially, its main purpose was to make it easier to build static web pages using templating ideas. But it quickly evolved into a full-blown language, capable of producing -driven business applications as powerful and complex as any , .Net or RPG applications you might have encountered.

Although PHP started life as a ‘scripting’ language (meaning it was interpreted on the fly each time a user accessed a PHP page), today it can also be compiled, ensuring and performance as your applications grow in use. We’ll discuss this concept later in this eBook.

Comparing PHP to RPG, you can think of it as focusing on interactive programming. However, you can also run PHP programs in a ‘command line interface,’ which is analogous to batch programming with RPG. This is useful for running tasks that don’t require user intervention, such as periodically sending emails to customers.

PHP has been supported by Zend and IBM since it was brought to

TOP 10 REASONS TO CHOOSE PHP FOR IBM i WEB APPLICATION DEVELOPMENT 04 What Is PHP?

IBM i in 2006 and is now one of the world’s1 fastest growing server- side language. It continues to evolve at a rapid rate and version 7 was recently released. This is a major new release of the language and includes significant performance improvements - anywhere from 25% to 70% on real-world applications.

PHP is typically used as part of a ‘stack’ - a suite of software products that provide a complete solution for web application development and deployment. You may have seen the acronym LAMP stack, for example. This refers to Linux, Apache, MySQL and PHP. Linux is the operating system, Apache is the software, MySQL is the database and PHP is the that exploits all three of these.

On IBM i, you might see the acronym iADP, which simply means i/OS is the operating system on which Apache, IBM DB2 and PHP run, versus Linux and MySQL. It’s important to note that you can also use MySQL on IBM i. We’ll discuss this further in reason #5, Leverage RPG, DB2 and IBM i Features, on page 14.

1 Source: w3techs.com, 2016 TOP 10 REASONS TO CHOOSE PHP FOR IBM i WEB APPLICATION DEVELOPMENT 05 1. Popularity

PHP is the most popular web development language and platform in use today. 82% of the world’s websites1 use PHP to drive their applications, whether it be for personal blogs or for full-blown enterprise applications. Almost 22% of the 834 IBM i organizations % that completed HelpSystems’ 2016 IBM i Marketplace Survey use 2 82 PHP for new development . of the world’s websites use PHP. Major sites like Twitter, Yahoo! and Wikipedia use PHP extensively. It also runs a wide variety of application domains, including content management, ecommerce and ERP applications such as . Some major open-source (free or commercially licensed) products 82 are built with PHP and many of them can run on IBM i. For example, Wordpress, a popular blogging and content management platform, is written in PHP. You can install Wordpress on your own IBM i server and run it in-house, or you can create an account at Wordpress. com and run it there, in the cloud. Other popular packages include and ! (content management systems), mediawiki % (the software that drives Wikipedia) and SugarCRM, a customer 22 relationship management solution. of IBM i organizations use PHP. 1 Source: w3techs.com, 2016. 2 Source: HelpSystems, 2016. 22 TOP 10 REASONS TO CHOOSE PHP FOR IBM i WEB APPLICATION DEVELOPMENT 06 1. Popularity

PHP’s popularity is partly due to the ease of entry in developing and deploying it. Most servers have PHP installed out of the box and there is little configuration effort required in order for you to start using it. And, as we discuss in a later section, the language is easy to learn and be productive in quickly.

Also, contrary to what you might have heard (especially from proponents of ‘compiled’ languages such as Java or ASP.net), PHP’s performance and scalability are excellent. As you can imagine, a site like Wikipedia cannot afford to have slow-running code, given the high number of users and activity on the site at any point in time.

TOP 10 REASONS TO CHOOSE PHP FOR IBM i WEB APPLICATION DEVELOPMENT 07 2. Open Source, Low Cost

PHP is low cost and open source. This means that it’s maintained and enhanced by an organization of volunteers and commercial entities. For example, Zend, which was founded by two of the early authors of PHP, invests heavily in improving PHP. The language is written entirely in , so anyone with C programming skills can contribute to the PHP codebase. You’ll also notice that the community of open source developers is large and very active so you can readily find code samples and help online.

Another advantage of PHP being open source is that you can run it on almost any operating system and/or hardware platform, including Windows, Linux, Unix, Mac/OS and IBM i. The version of PHP running on IBM i is actually a superset of the other platforms, as it includes additional functionality to support native IBM i operating system features and the IBM DB2 database.

You can start developing with PHP using the implementation or deploy the open-source packages mentioned earlier at no cost. As your needs increase (or if you’re running mission-critical applications) you may want to deploy Zend’s Professional or Enterprise Server on your IBM i, which provides additional stability, performance and scalability.

TOP 10 REASONS TO CHOOSE PHP FOR IBM i WEB APPLICATION DEVELOPMENT 08 3. PHP Is Easy for IBM i Programmers to Learn

Whether you’re an RPG or COBOL , you’ll likely find PHP easy to learn.

In fact, you can write a ‘hello world’ program in just one executable line, like so:

This simply prints the words ‘hello world’ in your browser.

Unlike Java, you don’t have to write everything as object-oriented PHP. Instead, you can begin writing PHP using a procedural coding style. This means that you can use concepts that are already familiar to you to construct your code.

TOP 10 REASONS TO CHOOSE PHP FOR IBM i WEB APPLICATION DEVELOPMENT 09 3. PHP Is Easy for IBM i Programmers to Learn Here’s a chart of some similarities between RPG and PHP:

RPG PHP Free-format C specs (lines end with ;) All code is free-format. Lines end with ; Control blocks: IF (cond) / IFEND IF ( cond ) { } Database files and embedded exec-SQL IBM_DB2 connection on IBM i, and PHP statements Data Objects – a cross-platform interface to many SQL implementations, not just MySQL IFS Files (via API calls) Stream files Input from user (EXFMT, CGI input) Request variables Output to User (EXFMT or CGI output) echo or print (generally to ) D Specs for fields and arrays var declarations Variable scope - global, local in module, Same (plus scope within objects) local in subprocedure /COPY directives to include common code Includes Batch programming (no user interaction) CLI (Command Line Interface) PHP Subroutines and Procedures Functions RPG Modules and Service programs includes or objects (more advanced approach)

TOP 10 REASONS TO CHOOSE PHP FOR IBM i WEB APPLICATION DEVELOPMENT 10 3. PHP Is Easy for IBM i Programmers to Learn

Although the syntax of PHP is quite different from RPG in some areas, the concepts are very similar. Areas of particular importance, such as database access, are in many ways easier than in RPG. For example, substituting variables into a dynamic SQL string is very simple, and writing SQL statements is not cumbersome as you are not constrained by the length of each line of code as you are in IBM i source files.

You’ll notice that we mentioned PHP objects in a couple of these comparisons. The great thing about PHP is that you can begin programming in a style similar to that you would use with RPG - procedural code - then move on to more advanced patterns, such as objects, later on. PHP lets you mix and match these styles at will.

You can also find many resources online and offline to help you learn PHP. There are countless books on PHP programming, both in print and online. There is also a huge repository of sample PHP code that you can download, from simple snippets to full-blown applications, and sites such as codeacademy that offer online video tutorials in PHP.

TOP 10 REASONS TO CHOOSE PHP FOR IBM i WEB APPLICATION DEVELOPMENT 11 3. PHP Is Easy for IBM i Programmers to Learn

You’ll notice that it’s easy to find sites that help you code using best practices, such as PHP the Right Way. Some of the info on this site is for more advanced programming approaches, but you may want to look at the database section to get an idea of how easy database programming is with PHP.

PHP code is also easy to test. Simply change your code and re-run it in the browser. You can set various options to throw detailed debugging messages, including a complete trace of the program execution. And, if you use an IDE such as BCD’s WebSmart, you can integrate a PHP debugger with your code development, stepping through code, watching variables and more.

TOP 10 REASONS TO CHOOSE PHP FOR IBM i WEB APPLICATION DEVELOPMENT 12 4. Use Existing Staff and Attract New Talent

Because PHP is easy (and fun!) to learn, you can quickly train your existing development team to be up and running with PHP quickly. As mentioned earlier, there are a myriad of training courses (in-person or online) available for learning PHP, as well as many books. There are

One good strategy is to train one member of your team in PHP million and use them as a mentor for other team members. Start with a small, 5 non-mission-critical application written in a familiar language such PHP developers as RPG and convert it to PHP, keeping in mind the idea of leveraging worldwide. existing RPG code, as described in the section above.

If you need to grow your development team, you’ll likely find it easier to attract new talent for a PHP development project. As we mentioned5 earlier, PHP is an extremely popular language, making for a large pool of job candidates. Also, many colleges and universities teach PHP programming courses, or courses with concepts that are common to the PHP language and web development.

TOP 10 REASONS TO CHOOSE PHP FOR IBM i WEB APPLICATION DEVELOPMENT 13 5. Leverage RPG, DB2 and IBM i Features

PHP on IBM i is unique. It’s a superset of most standard PHP installs because it includes the PHP Toolkit for IBM i, an open-source offering that lets you talk to existing RPG programs or service programs. It also lets you use some IBM i operating system facilities. We’ll discuss that later, but first let’s consider the benefits of calling existing RPG code.

Let’s imagine you have an existing RPG application you want to convert to run in web browsers, and you plan on rewriting it in PHP. Fortunately, you likely won’t have to rewrite 100% of it because you can encapsulate existing RPG code in smaller programs or service programs containing modules. You can easily call these programs and modules using the toolkit. You can also pass parameters, including complex data structures, and return values - just as you would if you were calling an RPG program from another RPG program (although the syntax is slightly different).

For example, if you have a complex pricing routine for an order entry system, you may choose to extract the code from its existing RPG source, then create an API in RPG that you can call from any other PHP script or RPG program. This approach lets you focus on using PHP for the user interaction while reusing valuable code assets for the business logic. This is also a more productive and safer approach to moving an application PHP

TOP 10 REASONS TO CHOOSE PHP FOR IBM i WEB APPLICATION DEVELOPMENT 14 5. Leverage RPG, DB2 and IBM i Features

to the web - you are using existing, tested and proven RPG code, rather than rewriting all of it and potentially introducing human errors.

As mentioned earlier, the toolkit comes with functionality to use IBM i operating system facilities. You can work with lists of spool files or their contents, data queue and user space objects. You can also retrieve system values, job logs or get lists of different types of objects on your system. With the toolkit, you are not confined to calling RPG programs and can call CL programs, for example. You can also run CL commands directly from PHP scripts, giving you even unlimited access to IBM i operating system functionality.

DB2 and MySQL PHP on IBM i can use the native DB2 database with the provided DB2 functions. This gives you access to all standard DB2 functionality that you have in languages such as RPG, such as list management.

This is an important reason to run PHP on the IBM i - IBM’s DB2 database is native to the IBM i and is robust, secure, reliable and scalable. Note that you can use your existing IBM i database files, whether they are described with DDS or SQL - it’s all transparent to your PHP code.

TOP 10 REASONS TO CHOOSE PHP FOR IBM i WEB APPLICATION DEVELOPMENT 15 5. Leverage RPG, DB2 and IBM i Features

MySQL is a great approach for pre-existing software such as WordPress or applications running on other platforms. Alternatively, you can use MySQL with DB2 as the back-end database engine. On other platforms, such as Linux, MySQL uses various database engines such as MyISAM or InnoDB. Each of these has different features and benefits. However, on the IBM i, MySQL can actually hook in directly to IBM i DB2. This means you can use standard PHP functions for accessing a MySQL database while, under the covers, your code is talking to the native IBM i database. You can set this up with one setting when connecting to your database, so you don’t need to change an entire PHP application to use MySQL on a Linux server versus on an IBM i server, for example.

TOP 10 REASONS TO CHOOSE PHP FOR IBM i WEB APPLICATION DEVELOPMENT 16 6. IBM i, PHP and Mobile Devices

Deploying PHP applications on mobile devices isn’t much different than making them available on desktop PCs. Since the application is hosted on your IBM i server, your main concern will be how the page renders on a mobile browser versus the desktop. Obviously, the amount of screen real estate is much less on tablets or smartphones than on desktops, so your application needs to adapt to these constraints. The ability to adapt to different screen sizes automatically is commonly called ‘responsive design’.

Fortunately, PHP is ideally suited for deploying applications. You can create responsive web apps easily with PHP by using a client-side framework such as Twitter Bootstrap. Bootstrap provides standard HTML and CSS that helps you design user interfaces that will work on smartphones and tablets in addition to desktop applications.

There are many front-end templating engines written for PHP that make it easy for you to build dynamic, IBM i / IBM DB2 data- driven applications that take advantage of responsive design. These templating engines are free and open source. Examples are Smarty, Twig and Blade. Also, you can license ready-made PHP templates that

TOP 10 REASONS TO CHOOSE PHP FOR IBM i WEB APPLICATION DEVELOPMENT 17 6. IBM i, PHP and Mobile Devices

are based on Bootstrap for building responsive applications, so you don’t need to hire a web designer in order to get a professional look for your application.

Generally, you will simply deploy your PHP apps in a browser and provide your end users with a starting URL, such as https://m.bigcompany.com, (where ‘m’ = mobile, versus ‘www’ = full sized site). However, if you want to access built-in features of a mobile device, such as the camera or GPS, you can ‘wrap’ your web application inside a native smartphone or tablet application using a free, open-source tool called PhoneGap. This gives you the best of both worlds - the productivity of PHP development, along with access to native mobile device functionality, and a single codebase - no need to write code in a different language or set of APIs for different platforms such as iOS, Android, Blackberry or Windows.

TOP 10 REASONS TO CHOOSE PHP FOR IBM i WEB APPLICATION DEVELOPMENT 18 7. Powerful Language Features

As you gain more experience, you will likely want to start taking advantage of some of PHP’s more powerful features.

Object-oriented programming is one such feature. Let’s compare PHP to RPG again. RPG provides service programs and modules, along with subprocedure prototypes. These features let you create discrete, reusable pieces of code, which is one of the intents of object-oriented programming. This is somewhat similar to aspects of object-oriented programming, although PHP provides a much richer implementation of object-oriented design compared to RPG. For example, in PHP you can use inheritance - create a generic type of object class and then extend it with more specific classes that inherit the features of the first one.

PHP also supports other modern language design features, including functional programming, in which functions can be treated as variables. JavaScript is also a functional language. (Further discussion of this concept is beyond the scope of this publication).

A number of popular coding ‘frameworks’ are written in PHP. A ‘framework’ is different from a ‘library’ of code in that it provides the

TOP 10 REASONS TO CHOOSE PHP FOR IBM i WEB APPLICATION DEVELOPMENT 19 7. Powerful Language Features

entire scaffolding for building an application. For example, most frameworks have a ‘routing’ system built in. This allows you to have one main program that becomes the entry point for every URL in your application, so that you can use clean URLs such as www.example.com/home instead of www.example.com/index. ?page=home. A single entry point also allows you to run common code you need executed for every user interaction, such as authentication and authorization.

Frameworks make coding in PHP more productive. For example, instead of having to write lots of code to make sure data input by users is ‘safe’ (doesn’t contain any malicious code in attempts to hack your system), frameworks provide functionality that does this for you, usually with a single line of code. The most popular frameworks are free and open source, so it’s worthwhile to invest in learning how to use them.

I recommend focusing on learning one framework, as each one has its own style of coding. Zend Framework 2 (ZF2), along with upcoming Zend Framework 3, is a popular framework. WebSmart PHP has native support for ZF2, meaning it can generate code that

TOP 10 REASONS TO CHOOSE PHP FOR IBM i WEB APPLICATION DEVELOPMENT 20 7. Powerful Language Features

conforms to ZF2’s requirements for use in the framework. Other popular frameworks are and .

PHP also provides ways to conditionally load pieces of your code at run-time, so they only get parsed if necessary. This helps improve performance of your applications. PHP also provides extensions - compiled pieces of code that can plug into the main PHP compiler to do specialized tasks. And, you can write your own extensions. There are many more advanced features in PHP that we don’t have space to cover here. Check out http://www.php.net/manual/en/ for detailed documentation.

TOP 10 REASONS TO CHOOSE PHP FOR IBM i WEB APPLICATION DEVELOPMENT 21 8. Available Ecosystem of Tools

The PHP community has either developed or embraced popular tools, many of which are free and open source, that help you in application development. For example, you can use , along with Github (optionally) to handle your change management needs. Another change management option is Subversion.

You can also use tools like . Composer is written in PHP and its purpose is to manage software distribution. Many PHP projects incorporate code from other projects. Composer manages these dependencies, so when you install a product, Composer makes sure it brings in any other products it depends on. You can use Composer with your own applications. For example, if you decide to use a library that interfaces to a commercial transactional email service (instead of having your own server send out emails), you can use Composer to make sure the library of code is included with your own.

There are also several PHP testing, validation and debug tools available. PHPUnit is a testing tool. It lets you write your own tests for your code, rather than relying on hit and miss manual testing. PHPLint is a code validator and documenter. It can identify bugs and inconsistencies in your code, and generally clean it up for you.

TOP 10 REASONS TO CHOOSE PHP FOR IBM i WEB APPLICATION DEVELOPMENT 22 8. Available Ecosystem of Tools

XDebug is a debugger that extends PHP’s native debugging capabilities. All of these are free and open source. And, these are just a few of the offerings available to you.

There are many text editors and IDEs that make you more productive with writing PHP code. Those targeted specifically at the IBM i platform include WebSmart PHP and . Each one has different features that leverage the native IBM i platform. For example, WebSmart PHP lets you work directly with your IBM i database and includes code editing features that leverage the IBM i PHP toolkit.

While you can run IBM i PHP applications natively without further tools, Zend provides a runtime environment called . It can boost the performance of your applications by using job queuing and caching features. You can also scale applications more easily using Zend Server’s High Availability session clustering across physical servers. In addition, Z-Ray provides deep insight into your code, informing you of the impact of changes you make to your code, including both code reliability (debugging) and performance (profiling).

TOP 10 REASONS TO CHOOSE PHP FOR IBM i WEB APPLICATION DEVELOPMENT 23 9. APIs and Web Services

There are many PHP-compatible cloud-based services available that provide functionality you don’t need to write in-house. They generally include sample PHP code for utilizing them.

Suppose you have a customer list you want to communicate with regularly by email. You may want to allow customers to change passwords or other information on their accounts. Sending confirmation emails for these events is a common practice. Rather than place a load on your own server, and have all the hassles of configuring a trusted email server, you can use a service such as Mandrill (part of Mailchimp).

Mandrill provides APIs so you can communicate directly with their servers and have them send emails with your data embedded in personalized email designs. While Mandrill provides example code for calling their service, there are also pre-written PHP libraries, such as Swiftmailer that make it easy to reliably send email using your server or services such as Mandrill.

Other APIs and services include GeoIP, which provides you with detailed geo information about your website visitors down to the city

TOP 10 REASONS TO CHOOSE PHP FOR IBM i WEB APPLICATION DEVELOPMENT 24 9. APIs and Web Services

and zip/postal code level, Salesforce integration and SurveyMonkey, an online surveying tool.

You can also create your own in-house web services with PHP, to provide data for internal or external applications to consume without having to expose your DB2 data directly. PHP supports industry standard protocols for exchanging data, such as XML, SOAP/REST technologies and JSON. You can ensure web services are secure by using web security functionality such as SSL along with IBM i native security, or LDAP or Kerberos, for example.

TOP 10 REASONS TO CHOOSE PHP FOR IBM i WEB APPLICATION DEVELOPMENT 25 10. PHP Is Supported by IBM, Zend and BCD

IBM first introduced PHP to IBM i in 2006. Since then, IBM has consistently expressed their support for the language, and worked actively with Zend in developing and enhancing the PHP ecosystem on IBM i. IBM’s continuing strategy is to bring popular open-source tools to the IBM i platform. This includes MySQL, Ruby, Python and Node.js, a server-based JavaScript interpreter. PHP continues to be a major component of this strategy.

Zend provides several products for helping programmer productivity and application performance for PHP on IBM i. For example, Zend Server is a complete, enterprise-ready web application server for running and managing PHP applications that require a high level of reliability, performance and security. It includes caching and opcode acceleration, application monitoring, problem diagnostics, native stack installers, and support for auto-scaling and high availability.

BCD is a Zend Premier Partner and has 40 years in the IBM i market. Their web development solution, WebSmart PHP, includes templates that reduce the time it takes to develop desktop and mobile applications. BCD also has a professional services group with experience in developing hundreds of applications for IBM i organizations.

TOP 10 REASONS TO CHOOSE PHP FOR IBM i WEB APPLICATION DEVELOPMENT 26 Why WebSmart PHP?

When you’re ready to begin developing PHP applications, you’ll need the right tools to get started. BCD’s WebSmart is a rapid web application development solution for creating new desktop or mobile PHP applications. It’s easy for IBM i and other programmers to , even if they don’t have web development experience.

With WebSmart PHP, you get:

• Intelligent templates: WebSmart’s customizable templates guide you through creating applications that run on multiple platforms (IBM i, Windows, Linux or Unix) and access such as DB2, MySQL and Oracle. The templates generate the initial PHP, HTML, CSS and JavaScript so you start with a fully- functional desktop or mobile web application. You can then use the WebSmart IDE to create order entry, invoicing, inquiries, B2B/ B2C shopping carts, dashboards and other applications.

• Templates for all levels of PHP: WebSmart PHP templates are designed for all levels of PHP knowledge. If you’re new to PHP, you can begin with WebSmart’s procedural or object-oriented templates. If you have more experience or

TOP 10 REASONS TO CHOOSE PHP FOR IBM i WEB APPLICATION DEVELOPMENT 27 Why WebSmart PHP?

advanced needs, you can use the PHP data object (PDO) or Zend Framework 2 (ZF2) templates.

• Mobile applications: WebSmart includes jQuery-based mobile templates that jumpstart mobile application development. WebSmart-developed mobile applications are accessible from browsers and run on all popular mobile platforms (iOS, Android).

• Code editor: The WebSmart IDE includes features that increase programming speed including a syntax checker, code completion, drag-and-drop fields, an interactive debugger and more.

• Leverage RPG and your IBM i: WebSmart includes a SmartSnippet to call RPG or COBOL programs. It uses the new PHP toolkit for IBM i, which requires less code to call a program.

• Unique separation of client-side code from logic: The client- side code (HTML, CSS, JavaScript) is separated from – instead of intermingled with - the PHP. This approach makes the code easier to read and is similar to how RPG and DDS are separated. It’s also easier to reuse RPG or PHP and HTML code snippets, and is simpler

TOP 10 REASONS TO CHOOSE PHP FOR IBM i WEB APPLICATION DEVELOPMENT 28 Why WebSmart PHP?

for people with different skill sets (e.g. developers and designers) to work on the same program.

• Central repository: You can define business, database and I love coding in WebSmart presentation rules at the database level, effectively providing PHP. The templates not powerful data modeling capabilities. Once extensions are defined in only allow me to write an the repository, the templates can exploit them. input screen in an hour or less, but it greatly helped • 5,000+ PHP functions integrated into the IDE: This includes real- me through the learning time syntax checking, prompting, color coding and formatting. curve in moving to the PHP language.”

• Zend Server: WebSmart PHP runs with Zend Server if hosting on Melinda Fowler IBM Power Systems. It also integrates with Zend’s Z-Ray if you’re Ouachita Baptist University running Zend Server Professional or Enterprise.

• Support and Services: BCD’s technical support team is consistently rated one of the industry’s best. BCD also has a team of PHP and BCD solution experts who can consult on any aspect of your web development project.

Getting Started with PHP on IBM i with WebSmart PHP If you’re interested in learning more about WebSmart or would like to download a free trial, please visit http://www.bcdsoftware.com/wsphp. TOP 10 REASONS TO CHOOSE PHP FOR IBM i WEB APPLICATION DEVELOPMENT 29 Why Zend Server?

Zend provides several products for helping programmer productivity and application performance for PHP on IBM i.

Zend Server is a comprehensive development stack for PHP web and mobile applications, including the only certified PHP distribution, tools for deployment, performance optimization, and debugging; numerous purpose-built extensions, and multi-server management for enterprises. Zend Server is a one-stop development platform from app creation to maintenance.

Zend Server also includes Z-Ray – an advanced debugging tool that provides developers with deep insight into their PHP code and enhances their overall productivity.

For more information, please visit the Zend Server web page.

TOP 10 REASONS TO CHOOSE PHP FOR IBM i WEB APPLICATION DEVELOPMENT 30 About the Author

Duncan Kenzie is the Chief Knowledge Officer for BCD Software. He is the author of WebSmart PHP and ILE, Nexus, Catapult, and several other IBM i productivity tools. Duncan Kenzie Chief Knowledge Officer bcdsoftware.com quadrantsoftware.com Duncan began his career with IBM and has almost 35 years’ experience in the midrange space. He thoroughly enjoys web development and is a frequent speaker and author of several technical articles for leading Midrange publications.

TOP 10 REASONS TO CHOOSE PHP FOR IBM i WEB APPLICATION DEVELOPMENT 31 About BCD BCD Software is a division of Fresche and one of the most successful software organizations in the IBM i marketplace. BCD has over 40 years in the IBM i marketplace and has successfully assisted thousands of organizations worldwide modernize. BCD helps customers maximize their investment in IBM i with solutions and services for web development, mobilization, business intel- ligence, spool file modernization and document distribution. For more information, please visit http://www.bcdsoftware.com.

About Zend and Rogue Wave Software Zend, the PHP company, part of Rogue Wave Software, was founded by the co-authors of PHP and continues as a dominant entity behind PHP, with open source contributions such as Zend Framework, Apigility, and most recently, PHPNG, the engine of PHP 7. Zend is also the leading provider of commercial PHP solutions and support for development leaders, DevOps, and developers. Customers use Zend Server with Z-Ray, Zend Studio, and Zend Guard to improve application performance and quality, speed up their release cycles, and mitigate risk. For more information please visit http://www.zend.com.

© 2016 BCD Software LLC. All rights reserved. All other trademarks are properties of their respective owners. This publication may not be reproduced or distributed in any form without BCD Software’s prior written permission.