What mechanism does WordPress use to keep constants from being redefined?

I recently posted a comment on a general tech group about this line of code:

define('WP_POST_REVISIONS', true);

Someone replied, "If the original coders don't know that you can't redefine a constant than why would you even trust any of their other code?"

That made me wonder, what mechanism in WordPress keeps themes/plugins/etc from redefining constants? I'm guessing that it has to do with the order in which code loads.

Topic constants Wordpress

Category Web


What mechanism does WordPress use to keep constants from being redefined?

None. Constants are not a WordPress feature, they're a part of the PHP programming language.

Someone replied, "If the original coders don't know that you can't redefine a constant than why would you even trust any of their other code?"

I think this is them suggesting that if the authors don't know that you cannot redefine a constant, then they might not be very good at PHP

That made me wonder, what mechanism in WordPress keeps themes/plugins/etc from redefining constants? I'm guessing that it has to do with the order in which code loads.

Once a constant is defined, it can't be changed. PHP enforces this, otherwise constants would just be fancy variables that can change on a whim.

Generally, it's considered poor practice to define those constants in plugins and themes. They're intended for wp-config.php and should be set by the user. I would treat any plugin or theme that defines WP constants with great suspicion and skepticism.

About

Geeks Mental is a community that publishes articles and tutorials about Web, Android, Data Science, new techniques and Linux security.