DWS WP Framework
  • Welcome
  • Primary goals
    • Modular design
    • No 3rd-party dependencies
  • Key concepts and dev tools
    • PHP and WP requirements
    • Object-Oriented Programming
    • Semantic Versioning
    • Version Control (git / GitHub)
    • Dependency Management (Composer)
    • Automated Testing (Codeception + Github Actions)
    • Dependency Injection (PHP-DI)
    • Coding Standards (PHPCS and PHPMD)
    • Dependencies Scoping (PHP-Scoper)
    • TypeScript and Sass
    • Task Runners (Grunt)
  • Setting up your dev environment
    • Windows
  • Your first plugin
    • Multiple plugins using the framework on the same site
  • Frequently Asked Questions
  • Bootstrapper Module
    • Motivation
    • How it works
    • How to use
    • White Labeling
  • Helpers Module
    • Motivation
    • How to use
  • Foundations Module
    • Motivation and How to use
    • Actions
      • Local action traits
      • Extension action traits
      • Integration action traits
    • States
    • Utilities
      • Stores
      • Handlers and Services
        • Logging Service
  • Plugin
    • Main Plugin Instance
    • Plugin Components
  • Hierarchies
  • Helpers
  • Utilities Module
    • Motivation and How to use
    • Hooks Service
      • Scoped Handler
    • Shortcodes Service
    • Templating Service
    • Assets Service
      • Scripts Handler
      • Styles Handler
    • CRON Events Service
      • Action Scheduler Handler
    • Admin Notices Service
    • Dependencies Service
    • Validation Service
  • Core Module
    • Motivation and How to use
    • Plugin Tree
      • Plugin Root
      • Plugin Functionality
    • Plugin Components
      • Internationalization
      • Installation / Upgrade / Uninstallation
  • Settings Module
    • Motivation and How to use
    • Settings Service
      • WordPress Handler
      • MetaBox Handler
      • ACF Handler
    • Validated Settings
  • WooCommerce Module
    • Motivation and How to use
    • Extended WC Logger
    • WC Settings Handler
Powered by GitBook
On this page

Was this helpful?

  1. Key concepts and dev tools

PHP and WP requirements

PreviousKey concepts and dev toolsNextObject-Oriented Programming

Last updated 4 years ago

Was this helpful?

The DWS WP Framework won't run unless the minimum PHP and WP requirements are met. Those were set pretty step, we admit, but there were good reasons that we argue for below.

This was a bit of a controversial choice as we started. PHP7.4 was still relatively new, and we didn’t know it would take over a year to release the first stable version. Even as of the writing of this article (April 2021), PHP7.4 powers “only” 26.5% of all WordPress installations according to the official .

As a rule of thumb, one usually wants to support over 50% of PHP and WordPress versions actively used out there. That would mean that we should currently also support PHP7.3, or even better, PHP7.2 in order to support over 70% of all installations.

However, we decided against it. Right now, PHP7.3 is in and support for PHP7.2 has been discontinued. As time passes, more-and-more installations will migrate to PHP7.4, and 25%+ is also not a bad share!

Moreover, PHP7.4 comes with a few that are just awesome for writing high-quality code, like typed class properties. It also introduced some deprecations and changed the concatenation precedence, so writing code that’s PHP7.4-conform will make it easier to upgrade in the future.

Last but not least, as the last version of PHP7 (since PHP8 got released in November 2020), it’s the version that most people are likely to stick with in the coming years similarly to how many people are somehow still “stuck” on PHP5.6 (last version before PHP7.0).

In short, it proves to be a slight disadvantage right now, but within 6-12 months (Q1-Q2 2022), that will disappear. And the advantages it brings are considerable, in our opinion.

Similarly to the PHP version, choosing the minimum WP version to support is again tricky. One the one hand, we do want to support as many users as possible, but it’s simply not wise to support very old WP versions.

We used again the page and decided to support a minimum of WP5.5. As of April 2021, that means over 57% of all active WordPress installations which easily follows our rule of thumb, i.e. more than 50%. As time moves on, that share will again only increase.

Picking WP5.5 also has some practical implications. WordPress 5.5 deprecated jQuery 1.12 and shipped the first really mature version of the Gutenberg builder, in our opinion. Also, it introduced a native way of passing on arguments to templates which was a very nice feature.

WordPress statistics
EOL
new features
WP statistics