Announcement for weekly PHP meetings

As you may have noticed, there is a new Slack channel named #core-php around. This channel is a result of several conversations at WordCamp Europe and a response to the #core-js channel for those who are more focused on PHP development.

While JavaScript is a hot topic in the WordPress space and requires a lot of attention given recent focuses such as Gutenberg or the Customizer, there have also been long-time concerns about PHP-related topics in WordPress core scope, which still lay the foundation for how WordPress works. The new channel aims to provide a space to discuss those topics to make the WordPress PHP codebase more sustainable in the long run.

Weekly meetings

There will be weekly meetings in the #core-php channel, happening every Monday at 18:00 UTC. The initial meeting will take place next week, on Monday 18:00 UTC. The agenda for the initial meetings will revolve around determining the objectives for the channel and which areas to work on. Before looking at code though, the first meeting in particular will focus on the ongoing efforts to increase the number of sites that run on a supported PHP version and to get sites away from the ancient PHP 5.2 so that we get closer to the point where we can raise the minimum required version.

Since we are dedicated to backward-compatibility as much as possible, we need to carefully examine all our steps which will take time. Therefore progress will likely be slower than what is currently happening in #core-js, which at the same time will make the outcome of all efforts as solid and seamless as possible.

Objectives

While it only took about six hours after the channel was created to find a proposal to rewrite the entire WordPress codebase, our steps and decisions should be small and sophisticated, of course considering longevity as well. As stated before, the actual objectives of the channel and weekly meetings will be determined during the initial chats. The following list is a small collection of ideas that have come up already:

  • A major purpose of the #core-php channel could be to look at existing code and figure out how to integrate improved patterns into it. Most core components handle their code changes individually, causing many inconsistencies in the codebase, and one goal of the weekly discussions could be to come up with realistic best practices that could then be documented and enforced for the future and, if possible, also for the code already present.
  • There are also thoughts about a more drastic refactor of specific parts of the codebase, which could use an abstraction layer to maintain backward-compatibility with the way things currently worked. While such efforts would take a longer time and even more solid reasoning to push through, the results may be worth the energy and time investment.
  • Moving to a more modern PHP version is, as mentioned before, another goal. We should continuously investigate possibilities to put pressure on hosts (and reasonably on users as well) so that the number of sites on outdated PHP versions will lower. We can already work on long-term plans in the mean time as our code-focussed enhancements, especially modern coding standards, should preferably take shape before we raise the minimum requirement.

Ideas in addition to the above are always welcome, and we will discuss those one by one. Once there is a consensus about something, we will spread the word to gather further opinions, for example during the weekly core dev chat or in another blog post.

Once we have determined the objectives, we will furthermore need to figure out how to efficiently collaborate on these projects, possibly in smaller working groups.

If you’re interested in making PHP great again, please join us on Monday 18:00 UTC in #core-php. If you cannot make the meeting but have further ideas, you can also leave a comment on this post prior to the meeting.

#agenda, #core-php, #php