Does Our PHP API Need a Framework? A Q&A with Rob Allen

API To follow up on Rob Allen’s article about choosing a PHP framework for APIs, here is an edited discussion between Rob and a developer at a Seiden Group client regarding their new API.

In this discussion, Rob addresses common developer concerns about frameworks for APIs.

Read more

How to Upgrade Zend Framework 1 to PHP 7.4 or 8.x


Zend Framework

For security, performance, and developer productivity, we encourage PHP users to upgrade to current versions of  PHP.

What gets in the way of upgrading PHP? Often, it’s an old framework release, such as Zend Framework 1 (ZF1), which reached end of life in 2016. This article will show an easy way to upgrade PHP, even with ZF1 applications.

Read more

How to Choose a PHP API Framework

APIAlan and I provide mentoring in API strategy for a software company who asked us whether they should use a PHP framework and, if so, which one would be best. They also wondered whether to invest in a commercial API gateway.

My thoughts on APIs and frameworks struck Alan as useful for any language and platform. Alan encouraged me to document my “philosophy of frameworks” here for anyone planning to develop web apps or APIs.

Read more

New IBM i extension for PHP

PHP on IBM iOne of the open source components we’ve built at Seiden Group is a new extension to enhance PHP’s integration with IBM i.

Although most business requirements are met by the existing ibm_db2 and PDO_ODBC extensions plus the PHP Toolkit, the new php-ibmi makes it easier to accomplish several (formerly) difficult or impossible tasks—especially for tool vendors, and when troubleshooting.

We’ve built six functions thus far, with the possibility of more in the future. Let us know what you think.

Read more

Update: Code for IBM i Language Tools

Code for IBM iCode for IBM i and its RPGLE language tools have come a long way! I am excited to share some of the language tools improvements with you today. They are absolutely worth talking about. Language tools are what makes writing code fun and exciting, and we can be better developers with them.

Read more

Porting a Cross-Platform C++ Application to Mac

An article about building C++ software for macOS might seem out of the ordinary for Seiden Group, a company that focuses on IBM i, but we have a good reason: we’ve been enhancing open source tools for PHP and Python. One of these is KCachegrind, an open source visualization tool that integrates with PHP’s Xdebug’s powerful application profiler and Python’s cprofile.

While KCachegrind and its cousin QCachegrind are easily available for Linux, only very outdated builds were available for Windows, and none at all for macOS. To rectify the situation, we’ve been making enhancements; providing QCachegrind builds for the community; and documenting how to use QCachegrind with Xdebug.

We’ve learned how to build cross-platform applications that work well on a Mac. This article documents many of the challenges we faced and solutions we found.

Read more

ibm_db2 & ODBC Run Side-by-Side in Seiden CP+ PHP

Historically, PHP on IBM i implementations demanded loyalty to a single database connection style. You had to choose either the classic extensions (ibm_db2 / PDO_IBM) or the ODBC extensions (odbc / PDO_ODBC.) Operating system limitations prevented both types from being loaded at the same time.

In July 2021, we overcame those limitations to coexisting database extensions in Seiden CommunityPlus+ PHPYes, now the classic PHP database extensions can run side-by-side with ODBC! We will explain how this was done in a future blog post.

As of this writing, you’ll find this feature exclusively in CP+ PHP. When you install Seiden CP+, all db2 extensions (ibm_db2, PDO_IBM, odbc, and PDO_ODBC) are enabled by default.

Read more

Visual Studio Code and 5250

With our latest version of Code for IBM i, developers have access to virtually everything they need when writing both RPG and open source applications, all in a single editor.

Version 0.8.4 provides your choice of a 5250 terminal or a PASE shell right in the editor—with a new, faster launch process.

Read more

No, Apache Isn’t Vulnerable to the Log4j Vulnerability

Updated December 19, 2021

The Log4j Java library has been in the news recently. The details of vulnerability CVE-2021-44228 have been well documented by others, but to summarize, it allows arbitrary code execution through maliciously crafted messages. These messages cause the Java virtual machine to look up classes from an LDAP server and load them. This is obviously not good, but unless you’re familiar with Java, you might be concerned what is and isn’t vulnerable; this article aims to clarify that.

Read more

PHP 7.3 Enters End of Life Today—Free Upgrade Assessment

PHP on IBM iPHP 7.3 entered end of life today and will no longer receive fixes—including security fixes.

If you’re still running applications on PHP 5.4, 5.6 or 7.3 (run php -v to check), it’s time to schedule a free upgrade assessment.

PHP upgrades are easier now, thanks to IBM’s adoption of RPM-based open source packages. Over the past year, our clients have reported smooth and even enjoyable migrations to CommunityPlus+ PHP 7.4 and 8.0.

Read more