WordPress.org

Make WordPress Core

Opened 9 months ago

Closed 9 months ago

#48963 closed enhancement (duplicate)

Deprecate and replace globals in core with service container

Reported by: taraschr Owned by:
Milestone: Priority: normal
Severity: normal Version:
Component: General Keywords:
Focuses: Cc:

Description

Global variables are "dark" legacy from PHP 4 but widely using in WordPress. Globals are dangerous and causing many problems - it is too easy accidentally rewrite or unset, their behavior can be very unpredictable. I think all problems are well known.

I suggest to add something like service container to WordPress core. It will not complicate understanding of WordPress core but will do more clearly and predictable in development process.

Globals can remain with that but deprecated and no longer recommended for use anymore.

Change History (2)

#1 @ayeshrajans
9 months ago

Welcome back to Trac, @taraschr.

While there is a recent trend in keeping WordPress core modern (with error handlers, PHP 5.6 as minimum PHP version, etc), WordPress still tries to be vastly compatible with millions of existing sites.

I suppose the first steps would be add support for composer packages, which would then allow to use a container like Pimple. It wouldn't make sense to allow containers/service locators for classes that are already instantiated and just scattered every where... i.e how things are right now.

I welcome you to join the Slack channel to have a conversation with core maintainers, specially #core-php on this.

#2 @TimothyBlynJacobs
9 months ago

  • Milestone Awaiting Review deleted
  • Resolution set to duplicate
  • Status changed from new to closed

This is being tracked in #37699.

Note: See TracTickets for help on using tickets.